var logoState="center";var logoTargetState="center";var goState="off";var goAnim;var activeAnimations=new Array();var activeWords="";var targetWrapperContent="";var currentAction="twmz";var redCount=0;function centeredPadding(){return((YAHOO.util.Dom.getViewportHeight()-150)/2)}function topPadding(){return 48}function currentPadding(){return YAHOO.util.Dom.getStyle("box","paddingTop")}function quickCenterLogo(){YAHOO.util.Dom.setStyle("box","paddingTop",centeredPadding()+"px")}function windowResize(){if(logoState==="center"){quickCenterLogo()}}function clearReds(){redCount=0;toggleGo(false);YAHOO.util.Dom.removeClass(document.getElementsByTagName("span"),"red")}function setReds(){var wordList=","+activeWords+",";var spanList=document.getElementsByTagName("span");for(var i=0;i<spanList.length;i++){if(wordList.indexOf(","+spanList[i].innerHTML.toLowerCase().replace("ing","y")+",")>=0){YAHOO.util.Dom.addClass(spanList[i],"red")}else{YAHOO.util.Dom.removeClass(spanList[i],"red")}}}function quickHideGo(){YAHOO.util.Dom.setStyle("go","display","none");YAHOO.util.Dom.setStyle("go","opacity",0)}function toggleGo(show){if(show&&goState==="off"){if(goAnim){goAnim.stop()}YAHOO.util.Dom.setStyle("go","display","inline");goAnim=new YAHOO.util.Anim("go",{opacity:{to:1}},0.5,YAHOO.util.Easing.easeOut);goAnim.animate();goState="on"}else{if(!show&&goState==="on"){if(goAnim){goAnim.stop()}goAnim=new YAHOO.util.Anim("go",{opacity:{to:0}},0.5,YAHOO.util.Easing.easeOut);goAnim.onComplete.subscribe(quickHideGo);goAnim.animate();goState="off"}}}function spanClick(e){if(logoState==="center"){if(YAHOO.util.Dom.hasClass(this,"red")){YAHOO.util.Dom.removeClass(this,"red");redCount--;if(redCount==0){toggleGo(false)}}else{if(redCount==0){toggleGo(true)}YAHOO.util.Dom.addClass(this,"red");redCount++}}}function stopAnimations(){for(var i=0;i<activeAnimations.length;i++){activeAnimations[i].stop()}activeAnimations=new Array()}function setLogo(state){if(state!==logoTargetState){stopAnimations();if(state==="top"){logoTargetState="top";var moveAnim=new YAHOO.util.Anim("box",{paddingTop:{to:topPadding()}},1,YAHOO.util.Easing.easeOut);moveAnim.onComplete.subscribe(function(){logoState="top";quickHideGo();setWrapper(targetWrapperContent)});logoState="moving:top";activeAnimations.push(moveAnim);moveAnim.animate();setReds()}else{if(state==="center"){logoTargetState="center";setWrapper("");var moveAnim=new YAHOO.util.Anim("box",{paddingTop:{to:centeredPadding()}},1,YAHOO.util.Easing.easeOut);moveAnim.onComplete.subscribe(function(){logoState="center";quickHideGo()});logoState="moving:center";activeAnimations.push(moveAnim);moveAnim.animate()}}}}function setWrapper(content){document.getElementById("wrapper").innerHTML=content;if(content.indexOf('rel="shadowbox')>=0){Shadowbox.setup(document.getElementsByTagName("a"),{animSequence:"sync",continuous:true,handleOversize:"resize",displayNav:false,displayCounter:false})}}function addHistory(value){try{currentState=YAHOO.util.History.getCurrentState("z");if(value!=currentState){YAHOO.util.History.navigate("z",value)}}catch(e){}}var timeoutId;var intervalId;var flashNdx;function startFlicker(){flashNdx=-1;clearInterval(intervalId);intervalId=setInterval("flickerSlogan()",30)}function flickerSlogan(){var spanList=document.getElementsByTagName("span");if(logoTargetState!="center"||flashNdx>=spanList.length+2){clearInterval(intervalId);YAHOO.util.Dom.removeClass(spanList,"flicker");timeoutId=setTimeout("startFlicker()",19000);return }flashNdx++;if(flashNdx>2){YAHOO.util.Dom.removeClass(spanList[flashNdx-3],"flicker")}if(flashNdx<spanList.length&&!YAHOO.util.Dom.hasClass(spanList[flashNdx],"red")){YAHOO.util.Dom.addClass(spanList[flashNdx],"flicker")}}function logoClick(e){changeSubtitle();if(logoTargetState==="center"){return }currentAction="twmz";addHistory("twmz");setLogo("center");toggleGo(false)}function goSuccess(o){eval(o.responseText)}function goFailure(o){clearReds()}function doAction(action){var url="go.php?action="+action;YAHOO.util.Connect.asyncRequest("GET",url,{success:goSuccess,failure:goFailure,cache:false})}function goClick(e){toggleGo(false);var words=new Array();var spanList=document.getElementsByTagName("span");for(var i=0;i<spanList.length;i++){if(YAHOO.util.Dom.hasClass(spanList[i],"red")){words.push(spanList[i].innerHTML.toLowerCase().replace("ing","y"))}}words.sort();doAction(words.join(","))}function zoomChanged(){var e=document.getElementById("toggleZoom");if(e){if(e.checked){Shadowbox.setup(document.getElementsByTagName("a"),{animSequence:"sync",continuous:true,handleOversize:"drag",displayNav:false,displayCounter:false})}else{Shadowbox.setup(document.getElementsByTagName("a"),{animSequence:"sync",continuous:true,handleOversize:"resize",displayNav:false,displayCounter:false})}}}function changeSubtitle(){var sloganList=new Array("<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>little</span> <span>maze</span> <span>of</span> <span>twisting</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>little</span> <span>maze</span> <span>of</span> <span>twisty</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>little</span> <span>twisty</span> <span>maze</span> <span>of</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>maze</span> <span>of</span> <span>little</span> <span>twisting</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>maze</span> <span>of</span> <span>little</span> <span>twisty</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>maze</span> <span>of</span> <span>twisting</span> <span>little</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>maze</span> <span>of</span> <span>twisty</span> <span>little</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>twisting</span> <span>little</span> <span>maze</span> <span>of</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>twisting</span> <span>maze</span> <span>of</span> <span>little</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>twisty</span> <span>little</span> <span>maze</span> <span>of</span> <span>passages</span>, <span>all</span> <span>different</span>...","<span>You</span> <span>are</span> <span>in</span> <span>a</span> <span>twisty</span> <span>maze</span> <span>of</span> <span>little</span> <span>passages</span>, <span>all</span> <span>different</span>...");clearReds();var e=document.getElementById("subtitle");var currentSlogan=e.innerHTML;currentSlogan=currentSlogan.replace(/\ class=\"\"/g,"");var newSlogan="";do{var selected=Math.floor(Math.random()*sloganList.length);newSlogan=sloganList[selected]}while(newSlogan===currentSlogan);e.innerHTML=newSlogan;YAHOO.util.Event.addListener(document.getElementsByTagName("span"),"click",spanClick)}function setState(state){if(state!=currentAction){Shadowbox.close();if(state=="twmz"){logoClick()}else{doAction(state)}}}function infoClick(){Shadowbox.open({player:"html",content:'<table cellpadding="50" cellspacing="0" border="0" width="100%" height="100%"><tr valign="middle"><td><p>Special thanks to Will Crowther, Don Woods, Tim Anderson, Marc Blank, Bruce Daniels, Dave Lebling, and Infocom for bringing a genre to life.</p><p>Credits to Peter Mattsson for the Flaxo Z-Machine interpreter and to Michael J. I. Jackson for Shadowbox.js.</p><p>Get Twisty Maze stuff at the <a href="http://www.cafepress.com/twistymaze">Twisty Maze Store</a>.</p><p style="margin-top: 40px;margin-bottom: 0px;"><img src="contact.png" /></p></td></tr></table>',height:370,width:500},{animSequence:"sync",resizeDuration:0.55,displayNav:false,displayCounter:false})}function initialize(){var parent=document.getElementById("box");var e=document.createElement("img");e.setAttribute("id","go");e.setAttribute("src","go.png");e.setAttribute("alt","Go");parent.appendChild(e);var e=document.createElement("div");e.setAttribute("id","wrapper");document.body.appendChild(e);changeSubtitle();YAHOO.util.Dom.setStyle("go","opacity",0);windowResize();YAHOO.util.Event.addListener("logo","click",logoClick);YAHOO.util.Event.addListener("go","click",goClick);YAHOO.util.Event.addListener("info","click",infoClick);YAHOO.util.Event.addListener(window,"resize",windowResize);var bookmarkedState=YAHOO.util.History.getBookmarkedState("z");var initialState=bookmarkedState||"twmz";YAHOO.util.History.register("z",initialState,setState);YAHOO.util.History.onReady(function(){var currentState;currentState=YAHOO.util.History.getCurrentState("z");setState(currentState)});try{YAHOO.util.History.initialize("yui-history-field","yui-history-iframe")}catch(e){}YAHOO.util.Event.onDOMReady(Shadowbox.init,{skipSetup:true,animSequence:"sync",continuous:true,displayNav:false,displayCounter:false});timeoutId=setTimeout("startFlicker()",4000)};