Fx.LifeBar=new Class({Extends:Fx,options:{text:null,transition:Fx.Transitions.Circ.easeOut,link:"cancel"},initialize:function(B,A){this.element=$(B);this.parent(A);this.text=$(this.options.text);this.set(0)},start:function(A){return this.parent(this.now,A.limit(0,100))},set:function(A){this.now=A;this.element.setStyle("backgroundPosition",(100-A)+"% 0px");if(this.text){this.text.set("text",Math.round(A)+"%")}return this}});Vegas=new Class({Implements:[Events,Options],options:{auto:0,css:"web",container:"checkres",highmenu:1,vocPerRound:10,pause:2000,timedec:50,minpause:1000,cpause:1500,fade_duration:500,lifegain:6,lifeloss:18,d_uil:"de",m_url:"/pix/uploaded/"},initialize:function(A){this.setOptions(A);if(this.options.auto){this.unit=this.options.auto}this.learn="en";this.container=$(this.options.container);this.uil=this.options.d_uil;this.uis={de:{start:"START",help:"HILFE",loading:"ICH LADE...",wait:"BITTE WARTEN",pick:"WÄHLE EINE",aunit:"LEKTION AUS"},en:{start:"START",help:"HELP",loading:"LOADING...",wait:"PLEASE WAITT",pick:"PICK",aunit:"A UNIT"}};this.build();if(this.options.auto){this.load()}else{this.status="sleep";this.display(this.ui("pick"),this.ui("aunit"))}},build:function(){this.vb=this.container.getElement("#lvb");if(!this.vb){this.container.empty();this.vb=new Element("div",{id:"lvb"}).injectInside(this.container)}if(this.options.css){this.vb.addClass(this.options.css)}this.infobar=$("lvbinfo")||new Element("div",{id:"lvbinfo"}).injectInside(this.vb);var D=new Element("div",{"class":"sb"}).injectInside(this.infobar);this.scorelabel=new Element("span").injectInside(D);this.scorevalue=new Element("span",{"class":"score"}).injectInside(D);this.main=this.vb.getElement("div.main")||new Element("div",{"class":"main"}).injectInside(this.vb);this.control=$("lvbcontrol")||new Element("div",{id:"lvbcontrol"}).injectInside(this.vb);this.info=this.vb.getElement("div.info")||new Element("div",{"class":"info"}).injectInside(this.vb);var E=this.main.getPosition(this.main.getOffsetParent());this.info.setStyles({left:E.x,top:E.y});this.iv=false;this.hideControls();var C=new Element("div",{"class":"lvtr"}).injectInside(this.main);var B=new Element("div",{"class":"lvtr"}).injectInside(this.main);var A=new Element("div",{"class":"lvtr"}).injectInside(this.main);this.f1=new Element("div",{"class":"cell"}).injectInside(C).addEvent("click",this.react.bind(this));this.bar=new Element("div",{"class":"bar"}).injectInside(B);this.f2=new Element("div",{"class":"cell"}).injectInside(A).addEvent("click",this.react.bind(this));this.fxoptions={property:"opacity",link:"cancel",duration:this.options.fade_duration};this.fx1=new Fx.Tween(this.f1,this.fxoptions).set(0);this.fx2=new Fx.Tween(this.f2,this.fxoptions).set(0);this.fxi=new Fx.Tween(this.info,this.fxoptions).set(0);this.fxi.addEvent("complete",this.ifc.bind(this));this.fx2.addEvent("complete",this.next.bind(this));this.bc();if(navigator.userAgent.match(/iPhone/i)){window.scrollTo(0,1)}this.halt=false;this.life=0;this.pb=0},bc:function(){this.pause_btn=new Element("a",{href:"#",id:"lvpause"}).inject(this.control).addEvent("click",this.pause.bind(this));this.quit_btn=new Element("a",{href:"#",id:"lvquit"}).inject(this.control).addEvent("click",this.quit.bind(this));this.lifebox=new Element("div",{"class":"life"}).inject(this.infobar,"top");this.lifebar=new Fx.LifeBar(this.lifebox,{text:this.lifebox})},play:function(B,A){if(!this.vb.getParent()){this.build()}else{this.infoFade(0)}this.life=0;if(A){this.learn=A}if(B){this.unit=B}this.load();return false},sg:function(){this.halt==false;this.status="newround";this.life=100;this.lifebar.start(this.life);this.fadeout();return false},ss:function(){var B=new Element("div",{"class":"lv_hlp",html:this.ui("helptxt")}).injectInside(this.f2.empty());var A=new Element("div",{"class":"lv_hbc"}).injectInside(this.f2);new Element("a",{href:"#",html:this.ui("start")}).addEvent("click",this.sg.bind(this)).injectInside(A);if(this.options.highmenu){new Element("a",{href:"#",html:this.ui("high")}).addEvent("click",this.hs.bind(this,0)).injectInside(A)}this.status="sleep"},react:function(){if(!this.enabled){return false}this.clicked=true;this.enabled=false;this.pauseLife();var B,C,A=this.v.c?"pc":"nc";B=this.uis[this.learn][A].getRandom();C=B.split("#");if(this.v.c){this.life=Math.min(this.life+this.options.lifegain,100);this.updateScore(1)}else{this.main.addClass("wrong");this.life=Math.max(this.life-this.options.lifeloss,0);this.fehler++}this.print(C[0],C[1]);this.updateLife();return false},pause:function(){if(!this.halt){this.pauseLife();this.enabled=false;this.halt="pause";this.pause_btn.innerHTML=this.ui("resume");this.main.removeClass("wrong");this.print(this.ui("pause"),"...")}else{if(this.halt=="pause"){this.pause_btn.innerHTML=this.ui("pause");this.halt=false;this.startLife();this.fadeout()}}return false},quit:function(){var A=(this.halt=="pause");this.halt="quit";this.status="score";this.pauseLife();this.life=0;this.lifebar.start(this.life);if(A){this.fadeout()}return false},load:function(){if(this.life){this.pauseLife()}this.print(this.ui("loading"),this.ui("wait"));var A=(this.unit)?"?u="+this.unit:"";new Request.JSON({url:"/php/vegasfeed.php"+A,onComplete:this.complete.bind(this)}).get()},infoFade:function(A){if(A&&!this.iv){this.info.setStyle("block")}if(this.iv!=A){this.fxi.start(A)}return false},ifc:function(){var A=this.info.getStyle("opacity");this.iv=(A>0);if(!A){this.info.setStyle("display","none")}},hs:function(A){if(this.iv){this.infoFade(0)}else{new Request.JSON({url:"/php/vegasscore.php",data:{score:A?this.score:0,lang:this.uil},onComplete:this.dhs.bind(this)}).post()}},dhs:function(B,A){if(B&&B.html){this.info.set("html",B.html);this.infoFade(1);var C=new Element("div",{"class":"hs_bc"}).injectInside(this.info);if(!this.pb||!this.voc||!this.voc.length){new Element("a",{href:"#",html:this.ui("back")}).addEvent("click",this.infoFade.bind(this,0)).injectInside(C)}if(this.voc&&this.voc.length){new Element("a",{href:"#",html:this.ui(this.pb?"tryagain":"start")}).addEvent("click",this.highstart.bind(this)).injectInside(C)}this.info.setStyle("display","block");this.info.fade("in")}},highstart:function(){this.infoFade(0);this.reset();this.life=100;this.lifebar.start(this.life);this.status="newround";this.lifePaused=1;this.next()},complete:function(C,A){if(!C){alert(A);this.print(this.ui("error"),":-(");return }this.voc=C.voc;if(this.uis){this.uis=$merge(this.uis,C.ui);this.set_lang(this.uil)}for(var B=0;B<this.voc.length;B++){if(this.voc[B].src){this.voc[B].img=new Element("img",{src:this.options.m_url+this.voc[B].src,alt:"",width:240,height:160})}}this.start()},ui:function(A){return(this.uis&&this.uil&&A)?this.uis[this.uil][A]:""},set_lang:function(A){if(A&&this.uis[A]){this.uil=A;this.scorelabel.innerHTML=this.ui("score")+": ";this.pause_btn.innerHTML=this.ui("pause");this.quit_btn.innerHTML=this.ui("quit")}return false},print:function(B,A){this.fx1.cancel();this.fx1.cancel();if(B!==false){this.f1.innerHTML=B}if(A!==false){this.f2.innerHTML=A}this.fx1.start(1);this.fx2.start(1);this.text=1},display:function(B,A){this.fx1.set(0);this.fx2.set(0);this.main.removeClass("wrong");if(this.status=="loop"){var B=this.v.t1;if(this.v.t1x){B+='<div class="small">'+this.v.t1x+"</div>"}this.f1.set("html",B);if(this.v.img){this.f2.empty();this.v.img.inject(this.f2)}else{this.f2.set("html",this.v.t2)}}else{this.f1.set("html",B);if(A){this.f2.set("html",A)}}this.fx1.start(1);this.fx2.start(1);if(this.status=="loop"){this.enabled=1}this.text=1},fadeout:function(){if(this.halt=="pause"){return }this.fx1.start(0);this.fx2.start(0);this.text=0;this.clicked=false},start:function(){this.status=(this.life)?"newround":"start";this.next();this.lifePaused=1},reset:function(){this.score=0;this.fehler=0;this.updateScore(0);this.round=0;this.vocnr=0;this.halt=false;this.text=0;this.pauseLife()},dl:function(){this.life--;this.updateLife(1)},updateLife:function(A){if(A){this.lifebar.set(this.life)}else{this.lifebar.start(this.life)}if(this.life<=0&&(this.status=="loop"||this.status=="newround")){this.lifeTimer=$clear(this.lifeTimer);this.status="dead";this.enabled=false;this.life=0}},updateScore:function(A){this.score+=A;this.scorevalue.innerHTML=this.score},pauseLife:function(){if(this.lifeTimer){this.lifeTimer=$clear(this.lifeTimer)}this.lifePaused=1},startLife:function(){this.lifeTimer=this.dl.periodical(1000,this);this.lifePaused=0},pick:function(){if(this.voc.length){this.v=this.voc.getRandom();this.voc.erase(this.v)}else{this.v=false}},wait:function(){if(this.waitTimer){this.waitTimer=window.clearTimeout(this.waitTimer)}this.waitTimer=this.fadeout.delay(this.clicked?this.options.cpause:this.rpause,this)},showControls:function(){if(this.control.getStyle("display")!="block"){this.control.setStyle("display","block")}},hideControls:function(){if(this.control.getStyle("display")!="none"){this.control.setStyle("display","none")}},next:function(){if(this.halt=="pause"||this.status=="wait"||this.status=="sleep"){return }if(this.text){this.wait()}else{if(this.lifePaused&&this.status=="loop"&&this.life&&!this.halt){this.startLife()}this.enabled=false;switch(this.status){case"start":this.hideControls();this.reset();this.ss();this.display("LAS VEGAS",false);break;case"score":this.hideControls();this.display(this.ui("yscore")+this.score,this.ui("ymist")+this.fehler);this.status="high";break;case"high":this.display(this.ui("load"),this.ui("high"));this.hs(1);this.status="start";break;case"newround":this.pauseLife();this.vocnr=0;this.round++;this.rpause=Math.max(this.options.minpause,this.options.pause-(this.round-1)*this.options.timedec);this.display(this.ui("round"),this.round);this.status="loop";break;case"dead":this.display(this.ui("game"),this.ui("over"));this.status="score";break;case"loop":this.pick();if(this.v){this.showControls();this.pb=1;this.vocnr++;this.display();if(this.vocnr==this.options.vocPerRound&&this.voc.length){this.status="newround"}}else{this.load()}break}}}});