var words = new Array();
words=b1.split(/\s+/);
var msize=words.length;
var mem='___';
var undo='___';
var temp='';

function aStyle()
{
var a,a1,a2,a3,a4,a5,a55,a6,a7,un,mt,ml,fs,fw,cc,bc,c1,c2,c3;
un="px; ";

var f = new Array();
f[0]="Garamond,Bodoni,Georgia,Palatino,'Times New Roman', serif";
f[1]="Frutiger,Verdana,Arial,Helvetica,sans-serif";
f[2]="Futura,Arial,Helvetica,sans-serif";
f[3]="Helvetica,'Trebuchet MS',Arial,Helvetica,sans-serif";
f[4]="'Stone Sans','Arial Black',Arial,Helvetica,sans-serif";

var ff=f[Math.floor(Math.random()*5)];
mt=Math.floor(Math.random()*80)-40;
ml=0;

var sz = new Array();
sz[0]=12; sz[1]=14; sz[2]=16; sz[3]=18; sz[4]=36; sz[5]=40; sz[6]=72; sz[6]=144;
sz[7]=60; sz[8]=28; sz[9]=56; sz[10]=96; sz[11]=18; 

fs=sz[Math.floor(Math.random()*12)];
fw=Math.floor(Math.random()*700)+1;

c1=Math.floor(Math.random()*6);
c2=c1;
c3=c1;
var c = new Array();
c[0]="0"; c[1]="3"; c[2]="6"; c[3]="6"; c[4]="9"; c[5]="C";

// x = Math.random();
// if (x>0.9) {c+=1; if (c>5) c=5}

cc="#"+c[c1]+c[c2]+c[c3]; 
if (Math.random()>0.85) cc="#F60";
var bc="transparent"; 
if (Math.random()>0.95) bc="#000";

a1="position:relative; top:"+mt+un;
//a2="left:"+ml+un;

a2="";
a3="font-size:"+fs+un;
a4="font-weight:"+fw+"; ";
a5="color:"+cc+'; ';
a55="background-color:"+bc+"; ";
a6="font-family:"+ff+"; ";
a7="width:auto;"
var z=Math.floor(Math.random()*5000)-2500;
var a8="z-index:"+z+"; ";

return a6+a1+a2+a3+a4+a5+a55+a7+a8;
}

function renderText(aString)
{
var a=window.open('','');
var d=a.document;
d.open();
d.write('<pre>');
d.write(aString);
d.write('</pre>');
d.close();
}

function renderHTML(aString)
{
var ar = new Array();
var numWords,i,n,w,d

i = 0; chunksize=7;

// while (aString.length > chunksize) {
// n = Math.floor(Math.random()*chunksize);
// rem = aString.length;
// ar[i++] = aString.substring(0,n);
// aString=aString.substring(n,rem);  }

// ar[i++] = aString;

ar=aString.split(' ');
var parts=ar.length;
var a=window.open('','');
var d=a.document;

d.open();
d.writeln('<html>');
d.writeln('<head>');
d.writeln('<title>textBlender output</title>');
d.writeln('<meta name="generator" content="textBlender 4.0">');
d.writeln('</head>');
d.writeln('<body bgcolor="#ffffff">');
d.writeln('<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>');

for (i=0; i<parts; i++)
if ((ar[i]!='') && (ar[i]!=' '))
{
d.writeln('<span ID="x'+i+'" style="'+aStyle()+'">');
d.writeln(ar[i]);
d.writeln('</span>');
d.writeln();
}

d.writeln('</body>');
d.writeln('</html>');
d.close();
}


function makeHTML(aString)
{
var ar = new Array();
var numWords,i,n,w,d

i = 0; chunksize=7;

ar=aString.split(' ');
var parts=ar.length;
var d=document;
for (i=0; i<parts; i++)
if ((ar[i]!='') && (ar[i]!=' '))
{
d.writeln('<span ID="x'+i+'" style="'+aStyle()+'">');
d.writeln(ar[i]);
d.writeln('</span>');
d.writeln();
}

}



function Something(source,lines,words,withStyle)
{
var chunk=aChunk(source,lines,words,withStyle);
if (!withStyle) return chunk
else
{
var stuff='<span style="'+aStyle()+'">'+chunk+'</span>';
return stuff;
}
}

function aWord(source)
{
return Something(source,1,1,0);
}

function aLine(source)
{
return Something(source,1,0,0);
}

function aChunk(source)
{
return Something(source,0,0,0);
}


function aWordWithStyle(source)
{
return Something(source,1,1,1);
}

function aLineWithStyle(source)
{
return Something(source,1,0,1);
}

function aChunkWithStyle(source)
{
return Something(source,0,0,1);
}

function addStyle(thing)
{
var stuff = '<span style="' + aStyle() + '">'+thing+'</span>';
return stuff;
}

function linkStyle(stext,slink)
{
var stuff = '<span style="' + aStyle() + '"><a href="' + slink + '">' + stext + '</a></span>';
return stuff;
}



function aChunk(source,numlines,numwords)
{
if (source=='') source=b1;
//
// generate a chunk
//
var s=source;
var ans='';
if (numlines==0) numlines=Math.floor((Math.random()*8))+2;
for (var i=1; i<=numlines; i++)
{
if (numwords==0) numwords=Math.floor((Math.random()*5))+2;
for (var j=1; j<=numwords; j++)
{
var num=Math.floor((Math.random()*msize));
ans += words[num] + ' ';
}

// if (numlines>0) ans=ans + '<br>';
}
return ans;
}


function buffer()
{
undo=document.textform.source.value;
if (undo.length<1) undo=' ';
}


function generate(s)
{
var ans='\n';
var numlines=Math.floor((Math.random()*8))+2;
for (var i=1; i<=numlines; i++)
{
var numwords=Math.floor((Math.random()*5))+2;
for (var j=1; j<=numwords; j++)
{
var num=Math.floor((Math.random()*msize));
ans += words[num] + ' ';
}

ans= ans + '\n';
}

s+=ans;
return s;
}

function crop(s)
{
var len=s.length;
var p1=Math.ceil(Math.random()*len);
var p2=Math.ceil(Math.random()*len);
if (p1>p2) {temp=p1; p1=p2; p2=temp;}
var s1=s.substring(p1,p2);
return s1;
}

function compress(s)
{
var s=document.textform.source.value;
s=s.replace(/ +/g, " ");
return s;
}

function hack(s)
{
s=s.replace(/i/ig, "!");
s=s.replace(/y /g, "! ");
s=s.replace(/qu/ig, "kw");
s=s.replace(/ a /ig, " 01 ");
s=s.replace(/ one /ig, " 01 ");
s=s.replace(/ two /ig, " 02 ");
s=s.replace(/ three /ig, " 03 ");
s=s.replace(/ four /ig, " 04 ");
s=s.replace(/ five /ig, " 05 ");
s=s.replace(/ six /ig, " 06 ");
s=s.replace(/ seven /ig, " 07 ");
s=s.replace(/ eight /ig, " 08 ");
s=s.replace(/ nine /ig, " 09 ");
s=s.replace(/ zero /ig, " 00 ");
s=s.replace(/ none /ig, " 00 ");
s=s.replace(/ is not /ig, " != ");
s=s.replace(/ was not /ig, " != ");
s=s.replace(/ will not be /ig, " != ");
s=s.replace(/ isn't /ig, " != ");
s=s.replace(/ wasn't /ig, " != ");
s=s.replace(/ won't be /ig, " != ");
s=s.replace(/ is /ig, " == ");
s=s.replace(/ee/ig, "33");
s=s.replace(/ and /ig, " + ");
s=s.replace(/c /g, "k ");
s=s.replace(/g/ig, "9");
s=s.replace(/s/ig, "5");
s=s.replace(/ at /ig, " @ ");
s=s.replace(/o/ig, "0");
s=s.replace(/\(/g, "[");
s=s.replace(/\)/g, "]");
s=s.replace(/ half /ig, " 0.5 ");
s=s.replace(/tt/ig, "TT");

return s;
}


function blur(s,i,r)
{
var len,targ,targ2,pos,s1,s2;
len=s.length;
var num=Math.ceil(len*i/100);
for (var x=0; x<num; x++) {
len=s.length;
pos=Math.ceil(Math.random()*len);
s1=s.substring(0,pos);
s2=s.substring(pos,len);
targ2=s.substr(pos,r)
targ2=targ2.replace(/\s+/,"");
s=s1+targ2+s2;
}
return s;
}

function sharpen(s,i,r)
{
var len,targ,targ2,pos,s1,s2;
len=s.length;
var num=Math.ceil(len*i/100);
for (var x=0; x<num; x++) {
len=s.length;
pos=Math.ceil(Math.random()*len);
s1=s.substring(0,pos);
s2=s.substring(pos+r,len);
targ2=s.substr(pos,r);
targ2=targ2.toUpperCase();
s=s1+targ2+s2;
}
return s;
}

function diffuse(s,i,r)
{
var len,targ,targ2,pos,s1,s2,spaces;
spaces="                                                           ";
len=s.length;
var num=Math.ceil(len*i/100);
for (var x=0; x<num; x++) {
len=s.length;
pos=Math.ceil(Math.random()*len);
s1=s.substring(0,pos);
s2=s.substring(pos,len);
targ2=spaces.substr(0,r);
s=s1+targ2+s2;
}
return s;
}

function addNoise(s,i,r)

{
var len,targ,targ2,pos,s1,s2,np,noise,noiselen,x,y,num;
noise="abcdefghijklmnopqrstuvwxyz01234567890!@#$%^&*()-_=+[]{};':,./<>?|";
len=s.length;
noiselen=noise.length;
i/=10;
num=Math.ceil(len*i/100);

for (x=0; x<num; x++) {
len=s.length;
pos=Math.ceil(Math.random()*len);
s1=s.substr(0,pos);
s2=s.substr(pos+r,len-pos+r);
targ2="";

for (y=0; y<r; y++) {
np=Math.ceil(Math.random()*noiselen);
targ=noise.substr(np,1);
if (Math.random()>0.5) targ=targ.toUpperCase();
targ2+=targ;
}
s=s1+targ2+s2;
}
return s;
}

function applyFilter()
{
var g=document.textform;
var filter=g.select.options[g.select.selectedIndex].value;
var source=g.source.value;
var intensity=g.intensity.options[g.intensity.selectedIndex].value;
var radius=g.radius.options[g.radius.selectedIndex].value;
radius=Number(radius);
intensity=Number(intensity);
var str="stuff="+filter+"(source,intensity,radius);";
if (filter!="select") eval(str);
return stuff;
}



function pickObject()
{
var i = Math.floor(Math.random()*dar.length);
return dar[i];
}

function placeObject(obj)
{
var hh=screen.height;
var ww=screen.width;
var vis='visibility:hidden; ';
if (Math.random()>0.7) vis='visibility:visible; ';
var z=Math.floor(Math.random()*5000)-2500;
var a8="z-index:"+z+"; ";

hh=0.4*hh;
ww=0.4*ww;

var xoffset=Math.floor(Math.random()*ww);
var yoffset=Math.floor(Math.random()*hh);

var xpos=Math.floor(Math.random()*ww)-xoffset;
var ypos=Math.floor(Math.random()*hh)-yoffset;
var stuff='<div style="position:absolute; top:'+ypos+'px; left:'+xpos+'px; '+vis+a8+'">'+obj+'</div>';

return stuff;
}

function dropSomething()
{
return placeObject(pickObject());
}

function dropThings(num)
{
for (var i=0; i<num; i++)
document.writeln(dropSomething());
}

function dropAll()
{
var max=dar.length;
for (var i=0; i<max; i++)
document.writeln(placeObject(dar[i]));
}


