/**
 * This script implements the falling letters game in JavaScript and RightJS
 *
 * You can play with the thing over here
 *   http://stcamp.net/games/t-ninja
 *
 * Copyright (C) 2009 Nikolay V. Nemshilov aka St.
 */
eval((function(s,d){for(var i=d.length-1;i>-1;i--)if(d[i])s=s.replace(new RegExp(i,'g'),d[i]);return s})("46 39=122 157({107:8,106:2,82:2,73:8,81:18(e){17.27=$E('24',{'52':'tn-63'}).38To(e);17.28=122 39.Progress();17.69=122 39.Field();17.19=122 39.130();17.26=122 39.167();17.27.38([17.26.27,17.28.27,17.69.27,17.19.27]);17.19.164(17.28.62.48(17.28)).onKeyPress(17.69.64Pressed.48(17.69));17.26.164(17.19.62.48(17.19)).onStartClick(17.153.48(17)).onS152Click(17.105.48(17));17.69.onHit(17.137.48(17)).onMiss(17.121.48(17));17.26.62(119.get('tn-63')||'en').102((119.get('tn-speed')||'2').116());17.28.104((119.get('tn-59')||'2').116());17.35={};17.72=0;17.98=0},153:18(){17.105ped=false;17.170()},105:18(){17.105ped=true;17.69.clear()},137:18(c){if(17.35[c])17.35[c]--;if(17.35[c]<1)delete(17.35[c]);17.72++;17.98=0;if(17.72>17.107){17.26.advance();17.72=0}17.26.137().90(17.35);17.117()},121:18(c){if(!17.35[c])17.35[c]=0;17.35[c]++;17.98++;17.72=0;if(17.98>17.106)17.26.slow202();17.26.121().90(17.35);17.117()},170:18(){if(17.105ped)25 false;46 s=1000+7000*(10-17.26.131())/10;46 a=17.28.getActive().concat(17.95()).random();17.69.drop(a,s,17.19.147(a));17.timer=17.170.48(17).delay(s/2)},95:18(){25 Object.55(17.35)},117:18(){46 m=17.95();if(m.114<17.82)17.28.59Up();199 if(m.114>17.73)17.28.59202()}});39.130=122 157(133,{extend:{190:$w('63_change 64_press'),126:{EN:['`~1!2@3#4$5%6^7&8*9(0)-_=+','qQwWeErRtTyYuUiIoOpP[{]}\\\\|','aAsSdDfFgGhHjJkKlL;:\\\'\"','zZxXcCvVbBnNmM,<.>/?'],RU:['][1!2\"3№4;5%6:7?8*9(0)-_=+','йЙцЦуУкКеЕнНгГшШщЩзЗхХъЪ\\\\/','фФыЫвВаАпПрРоОлЛдДжЖэЭ','яЯчЧсСмМиИтТьЬбБюЮ.,']},FINGERS:['11234444321111','01234444321111','0123444432111','112344443211']},81:18(l,o){17.189(o);17.27=$E('24',{'52':'tn-19'});17.138().149()},62:18(n){46 d=null,n=n||'EN';(17.63=17.142.126[n.181()]).143(18(r,b){r.134('').143(18(s,a){if(a % 2){46 k=17.55[d.79()]=17.55[s.79()]=17.rows[b][(a-1)/2];k.36='<29>'+d+'</29><29 52=\"up\">'+s+'</29>'}199 d=s},17)},17);25 17.125('63_change',17.63)},177Up:18(e){if(!e||e.64201==16)17.27.103('151');25 17},177202:18(e){if(!e||e.64201==16)17.27.192157('151');25 17},147:18(s){46 k=17.55[s.79()],o=0;if(k)o=k.85().x-17.27.85().x;25 o},166:18(e){46 k=17.55[e.char201]||17.55[e.64201];if(k){if(!e.altKey&&!e.ctrlKey&&!e.metaKey){e.105();k.159({83:160});17.125('64_press',e.char201||e.64201)}}},149:18(){document.on({64press:17.166.48(17),64up:17.177202.48(17),64down:17.177Up.48(17)});25 17},138:18(){17.55=[];17.rows=[];17.142.126.EN.143(18(r,b){46 c=17.138Row(b,r);if(b==0)c.38(17.53('&larr;','197',8));if(b==1)c.38(17.53('&rarr;','tab'),'152');if(b==2)c.38({152:17.53('','169'),146:17.53('&crarr;','enter',13)});if(b==3)c.38({152:17.53('Shift','l-177',16),146:17.53('Shift','r-177',16)});17.27.38(c);17.142.FINGERS[b].134('').143(18(n,a){c.childNodes[a].103('tn-19-64-'+n+'-145')})},17);17.27.38(17.138Row(4,'').38(17.53(' ','space',32)));25 17},138Row:18(n,c){46 k=[];(c.114/2).times(18(){k.156(17.53(''))},17);17.rows.156(k);25 $E('24').103('tn-19-row-'+(n+1)).38(k)},53:18(l,b,a){46 k=$E('29',{'52':b}).103('tn-19-64').144(l);if(a&&a!=16)17.55[a]=k;25 k}});39.Field=122 157(133,{190:$w('hit miss'),81:18(o){17.189(o);17.27=$E('24',{'52':'tn-69'});17.86=[]},drop:18(s,d,o){46 k=$E('24',{'52':'tn-64',127:s,style:'124: '+o+'px'}).38To(17.27);k.163=122 Fx.Morph(k,{83:d,fps:40,172:18(){46 e=17.132(s.79());if(e){e.159('#F66',{172:e.192.48(e)});17.125('miss',s)}}.48(17)}).153({152:(17.27.174-k.174-2)+'px'});17.86.156({code:s.79(),27:k})},64Pressed:18(k){46 e=17.132(k);if(e){e.163.cancel();e.159('#AFA',{83:160,172:e.192.48(e)});17.125('hit',e.36)}},clear:18(){17.86.143(18(i){i.27.163.cancel();i.27.192()});17.86=[];25 17},132:18(k){46 u=null,s=[];for(46 i=0;i<17.86.114;i++){if(!u&&17.86[i].code==k)u=17.86[i];199 s.156(17.86[i])}17.86=s;25 u?u.27:null}});39.Progress=122 157(133,{SEQUENCE:\"fjdksla; gtyrueiwoqpbnvmc,x.z/'FJDKSLA:GHTYRUEIWOQPBNVMC<X>Z?\\\"675849302-1=^&%*$(#)@_!+[{}]`~\\\\|\",81:18(){17.27=$E('24',{'52':'tn-28'});17.138()},62:18(l){17.63=[];l.join('').134('').143(18(s,p){p=17.136.indexOf(17.en203[p]);if(p>-1)17.55[p].36=17.63[p]=s},17);25 17},104:18(n){17.59=isString(n)?17.136.indexOf(n):n-1;17.55.143(18(k,a){k[a>17.59?'103':'192157']('tn-28-64-disabled')},17);17.scrollTo(17.59);119.set('tn-59',''+(((17.59>1)?17.59:1)+1),{83:99999});25 17},59Up:18(){if(17.59<17.63.114)17.104(17.59+2);25 17},59202:18(){if(17.59>1)17.104(17.59-1);25 17},getActive:18(){25 17.63.flatten().slice(0,17.59+1)},scrollTo:18(i){46 b=17.54Box.184;46 k=17.55[0].184+2;46 m=(k*17.55.114)-b;46 o=b/2-i*k;if(o>0)o=0;199 if(o<-m)o=-m;17.54.morph({124:o+'px'})},138:18(){17.en203=39.130.126.EN.join('').134('');17.136=17.SEQUENCE.134('');17.55=[];17.54Box=$E('24',{'52':'tn-28-54'}).38To(17.27);17.54=$E('24').38To(17.54Box);17.54.38(17.136.map(18(s){46 k=$E('29').179(17.104.48(17,s));17.55.156(k);25 k},17))}});39.167=122 157(133,{190:$w('63_change 173 105_click 153_click 109'),140:15,81:18(o){17.189(o);17.27=$E('24',{'52':'tn-26'});17.138().149()},131:18(){25 17.92.71.116()},advance:18(){25 17.102(17.131()+1)},slow202:18(){25 17.102(17.131()-1)},90:18(m){46 c=[];for(46 k in m)c.156({symbol:k,count:m[k]});c=c.sortBy('count').reverse().slice(0,17.140);17.148.144(c.map(18(i){25 $E('24',{'52':'tn-64',127:i.symbol})}))},137:18(){17.155.36=''+(17.155.36.116()+1);25 17.87()},121:18(){17.77.36=''+(17.77.36.116()+1);25 17.87()},62:18(n){if(isString(n))17.63s.71=(n||'en').181();119.set('tn-63',17.63s.71,{83:99999});25 17.125('63_change',17.63s.71)},102:18(v){if('123456789'.includes(''+v))17.92.71=''+v;119.set('tn-speed',17.92.71,{83:99999});25 17.125('173',17.92.71)},87:18(){46 h=17.155.36.116();46 m=17.77.36.116();46 a=h/(h+m)*100;17.168.36=(a||0).round()+'%';25 17},149:18(){17.63s.onChange(17.62.48(17));17.92.onChange(17.102.48(17));17.97.179(18(){17.97.toggle157('tn-105').set('71',17.97.has157('tn-105')?'S152':'Start').blur();17.125(17.97.has157('tn-105')?'153_click':'105_click')}.48(17));17.109.179(18(e){e.105();17.155.36=17.77.36='0';17.87().125('109')}.48(17))},138:18(){17.63s=$E('191').38(17.57s(Object.55(39.130.126)));17.92=$E('191').38(17.57s('123456789'.134('')));17.97=$E('180',{type:'button',71:'Start','52':'tn-153'});$E('61').144('<94>167</94>').38To(17.27).38([17.57('203',17.63s),17.57('Speed',17.92),17.97]);17.155=$E('29',{127:'0'});17.77=$E('29',{127:'0'});17.168=$E('29',{127:'0'});17.109=$E('a',{'52':'tn-109',127:'Reset',href:''});$E('61').144('<94>Statistic</94>').38To(17.27).38([17.57('Hits',17.155),17.57('Missed',17.77),17.57('Accuracy',17.168),17.109]);17.148=$E('24',{'52':'tn-most-77'});$E('61').144('<94>Most Missed</94>').38To(17.27).38(17.148);25 17},57:18(l,e){25 $E('24',{'52':'tn-26-193'}).38([$E('label',{127:l}),e])},57s:18(l){25 l.map(18(n){25 $E('193',{71:n,127:n})})}});document.write(\"<style type=\\\"154/css\\\">24.tn-63{91-family:Arial}24.tn-28{37:41.65;47-124:.1108}24.tn-28 24.tn-28-54{overflow:hidden;50:2.96;85:relative}24.tn-28 24.tn-28-54 24{50:2.96;37:600em;85:absolute}24.tn-28 24.tn-28-54 29{74:block;158:124;37:96;50:96;198-50:96;154-175:165;31:0.1em 113 #CCC;33:#FDD;-183-31-51:.65;-115-31-51:.65;188:pointer;47-161:.14135}24.tn-28 24.tn-28-54 29.tn-28-64-disabled{33:#EEE;139:#888;31-139:#DDD}24.tn-26{158:161;37:1135}24.tn-26 61{31:0;31-152:1px 113 #DDD;47-146:.108}24.tn-26 61 94{91-size:120%;91-118:162;139:#444}24.tn-26 61 24.tn-26-193{47:.65}24.tn-26 61 label{91-118:162;74:194-block;*74:194;*zoom:1;37:7.108}24.tn-26 61 191{37:108}24.tn-26 180.tn-153,24.tn-26 180.tn-105{31:1px 113 #DDD;33:#EFE;37:100%;50:96;91-size:1em;91-118:162;139:#444;188:pointer;47-152:1em;-183-31-51:.65;-115-31-51:.65}24.tn-26 180.tn-105{33:#FEE}24.tn-26 a.tn-109{158:161;154-decoration:none;47-146:-0.108}24.tn-26 24.tn-most-77 24.tn-64{158:124;37:96;50:96;198-50:96;154-175:165;31:1px 113 #DDD;33:#EEE;-183-31-51:.65;-115-31-51:.65;47-161:.65;47-146:.65;91-118:162}24.tn-69{31:1px 113 #CCC;33:#FFE;37:41.65;50:196;47-124:.1108;-183-31-51:.135;-115-31-51:.135;47-152:.135;85:relative}24.tn-69 24.tn-64{37:96;50:96;198-50:96;154-175:165;33:#EEE;31:1px 113 #BBB;-183-31-51:.135;-115-31-51:.135;85:absolute;91-118:162}24.tn-19{37:496;50:14.108;47-152:.135}24.tn-19 24 29.tn-19-64{188:default;74:block;158:124;50:2.108;198-50:2.108;37:2.108;154-175:165;31:.1em 113 #CCC;47:.1em;33:#EEE;-183-31-51:.135;-115-31-51:.135}24.tn-19 24 29.197{37:4.65}24.tn-19 24 29.tab{37:3.108;139:#888}24.tn-19 24 29.tab:after{185:'|';91-size:80%;91-118:162}24.tn-19 24 29.enter{37:5.65}24.tn-19 24 29.enter:before{185:'Enter';47-161:0.108}24.tn-19 24 29.169{37:4.65;139:#888}24.tn-19 24 29.169:after{185:'CLock'}24.tn-19 24 29.r-177{37:7em}24.tn-19 24 29.l-177{37:5.135}24.tn-19 24 29.space{37:22.65}24.tn-19 24.tn-19-row-2 29.tn-19-64:last-child{37:3.65}24.tn-19 24.tn-19-row-5{47-124:8.108}24.tn-19 29.tn-19-64 29.up{74:none}24.151 29.tn-19-64 29{74:none}24.151 29.tn-19-64 29.up{74:194}24.tn-19 24 29.tn-19-64-1-145{33:#FEF}24.tn-19 24 29.tn-19-64-2-145{33:#EFE}24.tn-19 24 29.tn-19-64-3-145{33:#EEF}24.tn-19 24 29.tn-19-64-4-145{33:#FEE}</style>\");",",,,,,,,,,,,,,,,,,this,function,keyboard,,,,,div,return,settings,element,progress,span,,border,,background,,missedKeys,innerHTML,width,insert,TypeNinja,,,,,,,var,margin,bind,,height,radius,class,buildKey,container,keys,,buildOption,,level,,fieldset,setLayout,layout,key,3em,,,insertTo,field,,value,hitsCounter,MIN_MISSES_BEFORE_LEVEL_DOWN,display,,layout_change,missed,,charCodeAt,,initialize,MAX_MISSES_BEFORE_LEVEL_UP,duration,,position,stack,calcAccuracy,,,updateMostMissed,font,speeds,,legend,mostMissedChars,2em,trigger,missCounter,,,layouts,setSpeed,addClass,setLevel,stop,MISS_BEFORE_SLOW_DOWN,HITS_BEFORE_ADVANCING,5em,reset,,,,solid,length,webkit,toInt,checkProgress,weight,Cookie,,countMiss,new,,left,fire,LAYOUTS,html,containerBox,buildOptions,Keyboard,getSpeed,pullElement,Observer,split,4em,sequence,countHit,build,color,MOST_MISSED_COUNT,,constructor,each,update,finger,bottom,getKeyLeftOffset,mostMissed,connect,keyCode,shifted,top,start,text,hits,push,Class,float,highlight,,right,bold,droppinFx,onLayoutChange,center,hightlightKey,Settings,accuracy,capslock,dropNext,buildRow,onFinish,speed_change,offsetHeight,align,removeClass,shift,start_click,onClick,input,toUpperCase,stopped,moz,offsetWidth,content,keyPressed,stop_click,cursor,$super,EVENTS,select,remove,option,inline,shiftDown,,backspace,line,else,key_press,Code,Down,Layout".split(",")));
