ComCore.Games=Class.create();ComCore.Games.prototype={config:{baseURL:ComCore.Configuration.get("rootURL")+"/ajax/games/"},initialize:function(){this.gameID=$("gameID").value},addScoreTabsEventListeners:function(){if($("tabMenu")){$$("#tabMenu a").each(function(A){Event.observe(A,"click",function(D){var C=Event.element(D);var B=C.up();if(B.hasClassName("selected")===false){$$("#tabMenu li").each(function(F){var E=F.down();if(E.rel!==C.rel){$(E.rel).hide()}F.removeClassName("selected")});B.addClassName("selected");$(C.rel).show()}Event.stop(D)})})}},addGameInstructionsEventListener:function(){var C=170;var F=$("gameInstructions");var B=F.innerText;var D=$("gameInstructionsMore");var A=$("gameInstructionsLess");if(D&&A){if(B.length>C){D.show();var E=B.truncate(C);F.update(E);Event.observe(D,"click",function(G){D.hide();F.update(B);A.show();Event.stop(G)});Event.observe(A,"click",function(G){A.hide();F.update(E);D.show();Event.stop(G)})}else{D.hide();A.hide()}}},addNotLoggedInEventListeners:function(){$$(".loginLink").each(function(A){Event.observe(A,"click",function(C){var B=new ComCore.LoginDialog();C.stop()})});$$(".registerLink").each(function(A){Event.observe(A,"click",function(C){var B=new ComCore.RegisterDialog();C.stop()})})},updateGameData:function(){this.updateScore();this.updateRankings();this.updateTopScores()},updateScore:function(){var A=ComCore.Page.buildAjaxURL("games","getScore",true);var C="gameid="+this.gameID;var B=new Ajax.Request(A,{method:"post",parameters:C,onComplete:this.onUpdateScore.bind(this)})},onUpdateScore:function(B,A){A=B.responseJSON;if(!A.success){ComCore.Debug.error(A.reason);return }$("myScore").fade({afterFinish:function(){$("myScore").update(A.score);$("myScore").appear()}})},updateRankings:function(){var A=ComCore.Page.buildAjaxURL("games","getRankings",true);var C="gameid="+this.gameID;var B=new Ajax.Request(A,{method:"post",parameters:C,onComplete:this.onUpdateRankings.bind(this)})},onUpdateRankings:function(B,A){A=B.responseJSON;if(!A.success){ComCore.Debug.error(A.reason);return }$("rankingBarTable").fade({afterFinish:function(){$("rankingBar").update(A.rankings);$("rankingBarTable").appear()}})},updateTopScores:function(){var A=ComCore.Page.buildAjaxURL("games","getTopScore",true);var C="gameid="+this.gameID;var B=new Ajax.Request(A,{method:"post",parameters:C,onComplete:this.onUpdateTopScore.bind(this)})},onUpdateTopScore:function(C,A){A=C.responseJSON;if(!A.success){ComCore.Debug.error(A.reason);return }var B=this;$("topScoresWrapper").setStyle({height:($("topScoresWrapper").getHeight()+"px")});$("topScores").fade({afterFinish:function(){$("topScores").update(A.topscores);B.addScoreTabsEventListeners();var D=false;$("topScores").appear({afterUpdate:function(){if(!D){$("topScoresWrapper").setStyle({height:"auto"});D=true}}})}})},_eoo:true};ComCore.gamesObject=null;ComCore.Queuer.add(function(){ComCore.gamesObject=new ComCore.Games();ComCore.gamesObject.addScoreTabsEventListeners();ComCore.gamesObject.addGameInstructionsEventListener();ComCore.gamesObject.addNotLoggedInEventListeners()});