var Hints=new Class({options:{hintsPlace:"",watchControls:[]},Implements:[Events,Options],initialize:function(options){this.setOptions(options);this.shown=false;this.delayCount=0;this.delayShow=0;this.currentHint=[];this.sleepTime=0;this.waitForEvent();this.listenControls(this.options.watchControls);},listenEvent:function(type,value){if(hintParts[type][value]){if(!this.hintTray){this.createHintTray(type,hintParts[type][value]);}if(!this.shown){if(!this.currentHint[0]||(this.currentHint[0]=="mole")){this.showHint.delay(this.delayShow,this,["worm",hintParts[type][value],"show"]);this.currentHint=["worm",hintParts[type][value]];}else{this.showHint.delay(this.delayShow,this,["mole",hintParts[type][value],"show"]);this.currentHint=["mole",hintParts[type][value]];}}else{this.changePhrase(hintParts[type][value]);}this.delayCount=0;}},listenControls:function(controls){var controlEls=[];if(controls.length!=0){controls.each(function(control){controlEls.extend($$(control));});controlEls.each(function(el){el.addEvent("click",function(){this.delayCount=0;}.bind(this));}.bind(this));}document.addEvent("click",function(){this.delayCount=0;}.bind(this));},waitForEvent:function(){var addCount=function(){this.delayCount++;if((this.delayCount>=6)&&this.shown){this.showHint(this.currentHint[0],this.currentHint[1],"hide");this.delayShow=1000;}if(this.delayCount>=20&&!this.shown){if(this.sleepTime>=140){this.sleepTime=0;}this.sleepTime=this.sleepTime+20;this.listenEvent("sleep",this.sleepTime);this.delayCount=0;}}.bind(this);addCount.periodical(1000,this.delayCount);},createHintTray:function(type,text){var place=$(document.body).getElement(this.options.hintsPlace);this.hintTray=new Element("div",{id:"hints"}).inject(place,"before");this.hint_img=new Element("img",{src:"http://media.iconza.com/i/clear.gif"}).inject(this.hintTray);this.hint_img_add=new Element("img",{src:"http://media.iconza.com/i/clear.gif",alt:"","class":"add"}).inject(this.hintTray);this.hint_phrase=new Element("div",{id:"h_text",style:"opacity:0"}).inject(this.hintTray);if(!chrome){this.hint_img.setStyle("opacity",0);this.hint_img_add.setStyle("opacity",0);}this.hint_phrase.ICanvasElement({width:230,height:70,className:"left",zindex:1,corners:[5,5,5,5],bodyStartColor:[239,239,239,1],bodyStopColor:[109,109,109,1],border:1,borderStartColor:[0,0,0,0.5],borderStopColor:[0,0,0,0.5],shadow:9,pointer:"left",pointerSize:[16,8]});this.hint_phrase.ICanvasElement({width:230,height:70,className:"right",zindex:1,corners:[5,5,5,5],bodyStartColor:[239,239,239,1],bodyStopColor:[109,109,109,1],border:1,borderStartColor:[0,0,0,0.5],borderStopColor:[0,0,0,0.5],shadow:9,pointer:"right",pointerSize:[16,8]});this.hint_text=new Element("p").set("html","<span>"+text+"</span>").inject(this.hint_phrase);},showHint:function(hint,text,type){this.hint_img.set("class",hint);this.hint_phrase.set("class",hint);switch(hint){case"worm":if(this.hint_img_add.hasClass("dn")){this.hint_img_add.removeClass("dn");}var imgFx=new Fx.Morph(this.hint_img,{duration:500,transition:Fx.Transitions.Back.easeOut,link:"chain"});var imgFxHide=new Fx.Morph(this.hint_img,{duration:500,transition:Fx.Transitions.Back.easeIn,link:"chain"});var imgAddFx=new Fx.Morph(this.hint_img_add,{duration:500,transition:Fx.Transitions.Cubic.easeIn,link:"chain"});var phraseFx=new Fx.Morph(this.hint_phrase,{duration:700,transition:Fx.Transitions.Pow.easeOut,link:"chain"});if(type=="show"){this.hint_img.set("style","background-position:0 0");this.hint_text.set("html","<span>"+text+"</span>");if(!chrome){imgFx.start({"margin-top":["60px","-15px"],opacity:[0,1]}).chain(function(){imgAddFx.start({"background-position":["0 90px","0 0"],opacity:[0,1]}).chain(function(){phraseFx.start({opacity:[0,1]});});});}else{imgFx.start({"margin-top":["60px","-15px"]}).chain(function(){imgAddFx.start({"background-position":["0 90px","0 0"]}).chain(function(){phraseFx.start({opacity:[0,1]});});});}this.shown=true;}if(type=="hide"){if(!chrome){phraseFx.start({opacity:[1,0]}).chain(function(){imgFxHide.start({"margin-top":["-15px","60px"],opacity:[1,0]}).chain(function(){imgAddFx.start({"background-position":["0 0","0 90px"]});});});}else{phraseFx.start({opacity:[1,0]}).chain(function(){imgFxHide.start({"margin-top":["-15px","60px"]}).chain(function(){imgAddFx.start({"background-position":["0 0","0 90px"]});});});}this.shown=false;}break;case"mole":if(!this.hint_img_add.hasClass("dn")){this.hint_img_add.addClass("dn");}var imgFx=new Fx.Morph(this.hint_img,{duration:600,transition:Fx.Transitions.Cubic.easeIn,link:"chain"});var phraseFx=new Fx.Morph(this.hint_phrase,{duration:600,transition:Fx.Transitions.Pow.easeOut,link:"chain"});if(type=="show"){this.hint_img.setStyles({opacity:1,"background-position":"0 77px","margin-top":0});this.hint_img.setProperties({src:"http://media.iconza.com/i/clear.gif","class":"mole",alt:""});this.hint_text.set("html","<span>"+text+"</span>");imgFx.start({"background-position":["0 77px","0 0"]}).chain(function(){phraseFx.start({opacity:[0,1]});});this.shown=true;}if(type=="hide"){phraseFx.start({opacity:[1,0]}).chain(function(){imgFx.start({"background-position":["0 0","0 77px"],onComplete:function(){this.delayShow=0;}});});this.shown=false;}break;}},changePhrase:function(text){var textFx=new Fx.Morph(this.hint_text,{duration:400,transition:Fx.Transitions.Pow.easeOut,link:"chain"});textFx.start({opacity:[1,0]}).chain(function(){this.hint_text.set("html","<span>"+text+"</span>");textFx.start({opacity:[0,1]});}.bind(this));}});
