/* Copyright (c) 2009 Spil Games; Includes also: jQuery by John Resig (jquery.com) and several jQuery plugins. */;function SWFtoJS(p_oCallObject){this.m_oCallFuntions=new Object();this.m_bDebug=false;if(p_oCallObject!=null){SWFtoJS.instance().parse(p_oCallObject);}}
SWFtoJS.m_oSWFtoJS=null;SWFtoJS.instance=function(p_bDebugOn){if(SWFtoJS.m_oSWFtoJS==null){SWFtoJS.m_oSWFtoJS=new SWFtoJS();if(p_bDebugOn){SWFtoJS.m_oSWFtoJS.m_bDebug=true;}}
return SWFtoJS.m_oSWFtoJS;};SWFtoJS.prototype.addCallFunction=function(p_sName,p_fFunction){if(typeof p_fFunction=='function'){this.m_oCallFuntions[p_sName]=p_fFunction;}};SWFtoJS.prototype.parse=function(p_oCallObject){try{if(p_oCallObject.call){switch(p_oCallObject.call){case'MULTI':{for(i=0;i<p_oData.calls.length;i++){SWFtoJS(p_oCallObject.calls[i]);}}
break;default:{if(this.m_oCallFuntions[p_oCallObject.call]){if(!p_oCallObject.params){p_oCallObject.params={};}
this.m_oCallFuntions[p_oCallObject.call](p_oCallObject.params);}else{throw"call: "+p_oCallObject.call+" not found in call functions!";}}
break;}}else{throw"call attribute not found in CallObject!";}}catch(sError){if(this.m_bDebug){alert(sError);}}};;(function($){$.fn.jCarouselLite=function(o){o=$.extend({btnPrev:null,btnNext:null,btnGo:null,mouseWheel:false,auto:null,speed:200,easing:null,vertical:false,circular:true,visible:3,start:0,scroll:1,beforeStart:null,afterEnd:null},o||{});return this.each(function(){var running=false,animCss=o.vertical?"top":"left",sizeCss=o.vertical?"height":"width";var div=$(this),ul=$("ul",div),tLi=$("li",ul),tl=tLi.size(),v=o.visible;if(o.circular){ul.prepend(tLi.slice(tl-v-1+1).clone()).append(tLi.slice(0,v).clone());o.start+=v;}
var li=$("li",ul),itemLength=li.size(),curr=o.start;div.css("visibility","visible");li.css({overflow:"hidden",float:o.vertical?"none":"left"});ul.css({margin:"0",padding:"0",position:"relative","list-style-type":"none","z-index":"1"});div.css({overflow:"hidden",position:"relative","z-index":"2",left:"0px"});var liSize=o.vertical?height(li):width(li);var ulSize=liSize*itemLength;var divSize=liSize*v;li.css({width:li.width(),height:li.height()});ul.css(sizeCss,ulSize+"px").css(animCss,-(curr*liSize));div.css(sizeCss,divSize+"px");if(o.btnPrev)
$(o.btnPrev).click(function(){return go(curr-o.scroll);});if(o.btnNext)
$(o.btnNext).click(function(){return go(curr+o.scroll);});if(o.btnGo)
$.each(o.btnGo,function(i,val){$(val).click(function(){return go(o.circular?o.visible+i:i);});});if(o.mouseWheel&&div.mousewheel)
div.mousewheel(function(e,d){return d>0?go(curr-o.scroll):go(curr+o.scroll);});if(o.auto)
setInterval(function(){go(curr+o.scroll);},o.auto+o.speed);function vis(){return li.slice(curr).slice(0,v);};function go(to){if(!running){if(o.beforeStart)
o.beforeStart.call(this,vis());if(o.circular){if(to<=o.start-v-1){ul.css(animCss,-((itemLength-(v*2))*liSize)+"px");curr=to==o.start-v-1?itemLength-(v*2)-1:itemLength-(v*2)-o.scroll;}else if(to>=itemLength-v+1){ul.css(animCss,-((v)*liSize)+"px");curr=to==itemLength-v+1?v+1:v+o.scroll;}else curr=to;}else{if(to<0||to>itemLength-v)return;else curr=to;}
running=true;ul.animate(animCss=="left"?{left:-(curr*liSize)}:{top:-(curr*liSize)},o.speed,o.easing,function(){if(o.afterEnd)
o.afterEnd.call(this,vis());running=false;});if(!o.circular){$(o.btnPrev+","+o.btnNext).removeClass("disabled");$((curr-o.scroll<0&&o.btnPrev)||(curr+o.scroll>itemLength-v&&o.btnNext)||[]).addClass("disabled");}}
return false;};});};function css(el,prop){return parseInt($.css(el[0],prop))||0;};function width(el){return el[0].offsetWidth+css(el,'marginLeft')+css(el,'marginRight');};function height(el){return el[0].offsetHeight+css(el,'marginTop')+css(el,'marginBottom');};})(jQuery);;(function($){$.fn.reportprogress=function(val,maxVal,text){var max=100;if(maxVal)
max=maxVal;return this.each(function(){var div=$(this);var innerdiv=div.find(".progress");if(innerdiv.length!=1){innerdiv=$("<div class='progress'></div>");div.append("<div class='text'>&nbsp;</div>");$("<span class='text'>&nbsp;</span>").css("width",div.css("width")).appendTo(innerdiv);div.append(innerdiv);}
var width=Math.round(val/max*100);innerdiv.css("width",width+"%");if(text){div.find(".text").html(text);}});};})(jQuery);;(function($){$.flashPlayerVersion=function(){var flashVersion,activeX=null,fp6Crash=false,shockwaveFlash='ShockwaveFlash.ShockwaveFlash';if(!(flashVersion=navigator.plugins['Shockwave Flash'])){try{activeX=new ActiveXObject(shockwaveFlash+'.7');}
catch(errorA){try{activeX=new ActiveXObject(shockwaveFlash+'.6');flashVersion=[6,0,21];activeX.AllowScriptAccess='always';}
catch(errorB){if(flashVersion&&flashVersion[0]===6){fp6Crash=true;}}
if(!fp6Crash){try{activeX=new ActiveXObject(shockwaveFlash);}
catch(errorC){flashVersion='X 0,0,0';}}}
if(!fp6Crash&&activeX){try{flashVersion=activeX.GetVariable('$version');}
catch(errorD){}}}
else{flashVersion=flashVersion.description;}
flashVersion=flashVersion.match(/^[A-Za-z\s]*?(\d+)(\.|,)(\d+)(\s+r|,)(\d+)/);return[flashVersion[1]*1,flashVersion[3]*1,flashVersion[5]*1];}();$.flashExpressInstaller='/img/expressInstall.swf';$.hasFlashPlayer=($.flashPlayerVersion[0]!==0);$.hasFlashPlayerVersion=function(options){var flashVersion=$.flashPlayerVersion;options=(/string|integer/.test(typeof options))?options.toString().split('.'):options;return(options)?(flashVersion[0]>=(options.major||options[0]||flashVersion[0])&&flashVersion[1]>=(options.minor||options[1]||flashVersion[1])&&flashVersion[2]>=(options.release||options[2]||flashVersion[2])):(flashVersion[0]!==0);};$.flash=function(options){var noflashplayer=false;if(!$.hasFlashPlayer){noflashplayer=true;}
var movieFilename=options.url||'',contentType=options.type||'swf',paramAttributes=options.params||{},buildDOM=document.createElement('body'),aArr,bArr,cArr,dArr,a,b,c,d;options.height=options.height||180;options.width=options.width||320;if(noflashplayer||(options.hasVersion&&!$.hasFlashPlayerVersion(options.hasVersion))){$.extend(options,{id:'SWFObjectExprInst',height:Math.max(options.height,137),width:Math.max(options.width,214)});movieFilename=options.expressInstaller||$.flashExpressInstaller;paramAttributes={flashvars:{MMredirectURL:window.location.href,MMplayerType:($.browser.msie&&$.browser.win)?'ActiveX':'PlugIn',MMdoctitle:document.title.slice(0,47)+' - Flash Player Installation'}};}
if(options.flashvars&&typeof paramAttributes==='object'){$.extend(paramAttributes,{flashvars:options.flashvars});}
for(a in(b=['url','type','expressInstall','hasVersion','params','flashvars'])){delete options[b[a]];}
aArr=[];for(a in options){if(typeof options[a]==='object'){bArr=[];for(b in options[a]){bArr.push(b.replace(/([A-Z])/,'-$1').toLowerCase()+':'+options[a][b]+';');}
options[a]=bArr.join('');}
aArr.push(a+'="'+options[a]+'"');}
options=aArr.join(' ');if(typeof paramAttributes==='object'){aArr=[];for(a in paramAttributes){if(typeof paramAttributes[a]==='object'){bArr=[];for(b in paramAttributes[a]){if(typeof paramAttributes[a][b]==='object'){cArr=[];for(c in paramAttributes[a][b]){if(typeof paramAttributes[a][b][c]==='object'){dArr=[];for(d in paramAttributes[a][b][c]){dArr.push(d.replace(/([A-Z])/,'-$1').toLowerCase()+':'+paramAttributes[a][b][c][d]+';');}
paramAttributes[a][b][c]=dArr.join('');}
cArr.push(c+'{'+paramAttributes[a][b][c]+'}');}
paramAttributes[a][b]=cArr.join('');}
bArr.push(window.escape(b)+'='+window.escape(paramAttributes[a][b]));}
paramAttributes[a]=bArr.join('&amp;');}
aArr.push('<PARAM NAME="'+a+'" VALUE="'+paramAttributes[a]+'">');}
paramAttributes=aArr.join('');}
if(contentType=='swf'){if(!(/style=/.test(options))){options+=' style="vertical-align:text-top;"';}
if(!(/style=(.*?)vertical-align/.test(options))){options=options.replace(/style="/,'style="vertical-align:text-top;');}}
if($.browser.msie){if(contentType=='swf'){options+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';paramAttributes='<PARAM NAME="movie" VALUE="'+movieFilename+'">'+paramAttributes;}else{options+=' classid="clsid:233C1507-6A77-46A4-9443-F871F945D258"';paramAttributes='<PARAM NAME="src" VALUE="'+movieFilename+'">'+paramAttributes;}}
else{if(contentType=='swf'){options+=' type="application/x-shockwave-flash" data="'+movieFilename+'"';}else{options+=' type="application/x-director" data="'+movieFilename+'"';}}
return noflashplayer==true?false:'<OBJECT '+options+'>'+paramAttributes+'</OBJECT>';};$.fn.flash=function(options){if(!$.hasFlashPlayer){return this;}
var a=0,each;while((each=this.eq(a++))[0]){each.html($.flash($.extend({},options)));if(each[0].firstChild.getAttribute('id')==='SWFObjectExprInst'){a=this.length;}}
return this;};}(jQuery));;(function($){var settings={adWidth:300,adHeight:250,showAd:true,forcePreroll:false,usePercentsInPreroll:true,loadingBar:true,fileType:'swf',contentId:'#flashobj',preloadId:'#flashobj_mc',beforeCallback:null,afterCallback:null,gameInsertCallback:null,skipLinkCallback:null,loadingText:"Loading game...",afterLoadingText:"Game loaded. Click here to start the game\u2026",progressbarText:'The game will start in %d seconds',closeText:'Close the advertisement and go on to the game.',advertisementText:'Advertisement',tickInterval:200,progressTime:15000,showSkipTime:0,barWidth:300,adType:'iframe',adCode:'',adultWarning:false,adultWarningDiv:'#a18_dialog'};var percent=0;var timeElapsed=0;var linkShowTimeElapsed=0;var that=this;var flashLoadTries=0;var skipTextInserted=false;var skipLinkInserted=false;var neoedgeAd=false;var afterWarning=true;var intervalHandle,target,check98PercentHandle,preTimer,preloaderWidth,preloaderHeight,preroll,neoedgeHandler,startPreloaderHandler;var showGame=function(){if(settings.fileType!='swf'||settings.forcePreroll||!settings.showAd){settings.gameInsertCallback.call(that);}else{$(settings.contentId).css({width:preloaderWidth,height:preloaderHeight});}
if(settings.afterCallback!=null){settings.afterCallback.call(that,settings);}};var cleanupAndShowGame=function(){if(intervalHandle!=null){clearInterval(intervalHandle);intervalHandle=null;}
if(neoedgeHandler!=null){clearTimeout(neoedgeHandler);neoedgeHandler=null;}
if(check98PercentHandle!=null){clearTimeout(check98PercentHandle);check98PercentHandle=null;}
if(startPreloaderHandler!=null){clearTimeout(startPreloaderHandler);neoedgeHandler=null;}
if(target!=null){target.remove();target=null;}
if(afterWarning){showGame();}};var insertSkipLink=function(innerText){var a=$('<a href="javascript:void(0);">'+innerText+'</a>');if(settings.skipLinkCallback!=null){a.click(settings.skipLinkCallback);}
a.click(function(){setTimeout(function(){cleanupAndShowGame();},10);});$('#ap_skiptext').empty().append(a);skipLinkInserted=true;};var skipTextAddOrDecrement=function(afterLoading){skipTextInserted=afterLoading?false:skipTextInserted;if(linkShowTimeElapsed<=0&&!skipTextInserted){if(preroll){if(!skipLinkInserted){insertSkipLink(settings.closeText);}}else if(afterLoading){if(!skipLinkInserted){insertSkipLink(settings.afterLoadingText);}}else{$('#ap_skiptext').empty().append(settings.loadingText);}
skipTextInserted=true;return;}else if(linkShowTimeElapsed>0&&!preroll&&!afterLoading&&!skipTextInserted){$('#ap_skiptext').empty().append(settings.loadingText);skipTextInserted=true;}
linkShowTimeElapsed-=settings.tickInterval;};var insertAd=function(){target.css({width:(settings.adWidth+'px')});target.prepend('<div id="ap_adtext">'+settings.advertisementText+'</div>');$('#ap_adframe').css({width:(settings.adWidth+'px'),height:(settings.adHeight+'px')});if(settings.adType=='iframe'){$('#ap_adframe iframe').show();}
if(settings.loadingBar&&!neoedgeAd){target.append('<div id="ap_progressbar"></div>');$('#ap_progressbar').css('width',settings.barWidth+'px');if(preroll&&!settings.usePercentsInPreroll){$("#ap_progressbar").reportprogress(0,100,SPI.sprintf(settings.progressbarText,Math.ceil(settings.progressTime/1000)));}else{$("#ap_progressbar").reportprogress(0,100,'0%');}}
if(!neoedgeAd){target.append('<div id="ap_skiptext"></div>');}
skipTextAddOrDecrement();};var progressUpdatePreroll=function(){timeElapsed+=settings.tickInterval;percent=Math.round(100*timeElapsed/settings.progressTime);if(settings.usePercentsInPreroll){$("#ap_progressbar").reportprogress(percent,100,percent+'%');}else{$("#ap_progressbar").reportprogress(percent,100,SPI.sprintf(settings.progressbarText,Math.ceil((settings.progressTime-timeElapsed)/1000)));}
skipTextAddOrDecrement();if(percent>=100){if(!neoedgeAd){cleanupAndShowGame();}}};var check98Percent=function(oldvalue){var loaded=$(settings.preloadId)[0].PercentLoaded();if(oldvalue==loaded){if(!neoedgeAd){cleanupAndShowGame();}
if(check98PercentHandle!=null){clearTimeout(sometime);check98PercentHandle=null;}}};var progressUpdatePreloader=function(){var fromTimer=parseInt((settings.progressTime-preTimer)*100/settings.progressTime);var loaded=$(settings.preloadId)[0].PercentLoaded();if(loaded<0){loaded=100;}
percent=fromTimer<loaded?fromTimer:loaded;$("#ap_progressbar").reportprogress(percent,100,percent+'%');preTimer-=settings.tickInterval;if(fromTimer>=100){check98PercentHandle=setTimeout(function(){check98Percent(loaded);},2500);}
if(percent<100){if(loaded>=100){skipTextAddOrDecrement(true);}else{skipTextAddOrDecrement();}}else if(!neoedgeAd){cleanupAndShowGame();}};var startPreloader;startPreloader=function(){flashLoadTries++;try{var loaded_temp=$(settings.preloadId)[0].PercentLoaded();intervalHandle=setInterval(progressUpdatePreloader,settings.tickInterval);insertAd();}catch(e){if(flashLoadTries<=3){startPreloaderHandler=setTimeout(startPreloader,1000);}else{if(!neoedgeAd){cleanupAndShowGame();}}}};var showAd=function(){if(settings.beforeCallback!=null){settings.beforeCallback.call(that,settings);}
linkShowTimeElapsed=settings.showSkipTime;if(settings.fileType!='swf'||settings.forcePreroll){preroll=true;intervalHandle=setInterval(progressUpdatePreroll,settings.tickInterval);insertAd();}else{settings.gameInsertCallback.call(that);preloaderHeight=$(settings.contentId).css('height');preloaderWidth=$(settings.contentId).css('width');$(settings.contentId).css({width:'0px',height:'0px'});preroll=false;preTimer=settings.progressTime;startPreloader();}};var setupAdultWarning=function(){target.hide();afterWarning=false;$(settings.adultWarningDiv).find('.yes_btn').click(function(){$(settings.adultWarningDiv).remove();afterWarning=true;if(target){target.show();}else{showGame();}}).end().find('.no_btn').click(function(){if(history.length>1){history.back();}else{document.location='/';}}).end().show();}
$.spiPreloaderNeoEdge=function(timeout){return function(_cmd){if(_cmd=="AD_STARTED"){if(parent)neoedgeAd=true;neoedgeHandler=setTimeout(cleanupAndShowGame,timeout||30000);}
if(_cmd=="AD_COMPLETED"){cleanupAndShowGame();}};};$.fn.spiPreloader=function(options){target=$(this);$.extend(settings,options);if(settings.showAd){if(settings.adultWarning){setupAdultWarning();}
showAd();}else{if(settings.adultWarning){setupAdultWarning();target.remove();target=null;}
if(settings.beforeCallback!=null){settings.beforeCallback.call(that,settings);}
if(!settings.adultWarning){target.remove();target=null;settings.gameInsertCallback.call(that,settings);if(settings.afterCallback!=null){settings.afterCallback.call(that,settings);}}}};})(jQuery);;;(function($){var $scrollTo=$.scrollTo=function(target,duration,settings){$(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:'xy',duration:parseFloat($.fn.jquery)>=1.3?0:1};$scrollTo.window=function(scope){return $(window).scrollable();};$.fn.scrollable=function(){return this.map(function(){var elem=this,isWin=!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!isWin)
return elem;var doc=(elem.contentWindow||elem).document||elem.ownerDocument||elem;return $.browser.safari||doc.compatMode=='BackCompat'?doc.body:doc.documentElement;});};$.fn.scrollTo=function(target,duration,settings){if(typeof duration=='object'){settings=duration;duration=0;}
if(typeof settings=='function')
settings={onAfter:settings};if(target=='max')
target=9e9;settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.speed||settings.duration;settings.queue=settings.queue&&settings.axis.length>1;if(settings.queue)
duration/=2;settings.offset=both(settings.offset);settings.over=both(settings.over);return this.scrollable().each(function(){var elem=this,$elem=$(elem),targ=target,toff,attr={},win=$elem.is('html,body');switch(typeof targ){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px)?$/.test(targ)){targ=both(targ);break;}
targ=$(targ,this);case'object':if(targ.is||targ.style)
toff=(targ=$(targ)).offset();}
$.each(settings.axis.split(''),function(i,axis){var Pos=axis=='x'?'Left':'Top',pos=Pos.toLowerCase(),key='scroll'+Pos,old=elem[key],Dim=axis=='x'?'Width':'Height';if(toff){attr[key]=toff[pos]+(win?0:old-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css('margin'+Pos))||0;attr[key]-=parseInt(targ.css('border'+Pos+'Width'))||0;}
attr[key]+=settings.offset[pos]||0;if(settings.over[pos])
attr[key]+=targ[Dim.toLowerCase()]()*settings.over[pos];}else
attr[key]=targ[pos];if(/^\d+$/.test(attr[key]))
attr[key]=attr[key]<=0?0:Math.min(attr[key],max(Dim));if(!i&&settings.queue){if(old!=attr[key])
animate(settings.onAfterFirst);delete attr[key];}});animate(settings.onAfter);function animate(callback){$elem.animate(attr,duration,settings.easing,callback&&function(){callback.call(this,target,settings);});};function max(Dim){var scroll='scroll'+Dim;if(!win)
return elem[scroll];var size='client'+Dim,html=elem.ownerDocument.documentElement,body=elem.ownerDocument.body;return Math.max(html[scroll],body[scroll])
-Math.min(html[size],body[size]);};}).end();};function both(val){return typeof val=='object'?val:{top:val,left:val};};})(jQuery);;;(function($){var URI=location.href.replace(/#.*/,'');var $localScroll=$.localScroll=function(settings){$('body').localScroll(settings);};$localScroll.defaults={duration:1000,axis:'y',event:'click',stop:true};$localScroll.hash=function(settings){settings=$.extend({},$localScroll.defaults,settings);settings.hash=false;if(location.hash)
setTimeout(function(){scroll(0,location,settings);},0);};$.fn.localScroll=function(settings){settings=$.extend({},$localScroll.defaults,settings);return(settings.persistent||settings.lazy)?this.bind(settings.event,function(e){var a=$([e.target,e.target.parentNode]).filter(filter)[0];a&&scroll(e,a,settings);}):this.find('a,area').filter(filter).bind(settings.event,function(e){scroll(e,this,settings);}).end().end();function filter(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==URI&&(!settings.filter||$(this).is(settings.filter));};};function scroll(e,link,settings){var id=link.hash.slice(1),elem=document.getElementById(id)||document.getElementsByName(id)[0];if(elem){e&&e.preventDefault();var $target=$(settings.target||$.scrollTo.window());if(settings.lock&&$target.is(':animated')||settings.onBefore&&settings.onBefore.call(link,e,elem,$target)===false)return;if(settings.stop)
$target.queue('fx',[]).stop();$target.scrollTo(elem,settings).trigger('notify.serialScroll',[elem]);if(settings.hash)
$target.queue(function(){location=link.hash;$(this).dequeue();});}};})(jQuery);;SPI.lastPlayedGames=(function(){var config={settings:{game_url:'/gamedata/%s.json',timeout:7000,li_id:'lastplayedgame'}};SPI.getAndUpdateConfig('lastPlayedGames',config);var cookieApi=new SPI.gamesCookieProxy({cookieName:config.settings.cookieName,maxGames:config.settings.maxGames});var that={};var clearGames=function(){cookieApi.resetGames();that.renderAtMyProfilePage();};var loadGame=function(gameId,ndx,template){SPI.gameCache.getGame(gameId,function(obj){if(obj!=null){var a=$(SPI.render(template,obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.lastplayedgame+"_"+ndx).empty().append(a);};});};that.hasGames=function(){return cookieApi.loadGames().length>0;};that.renderAtHomePage=function(){var games=cookieApi.loadGames();if(games.length==0){$('#last_box .moreIn').hide();return;}
$('li.no-last-text').remove();for(var i=0;i<config.settings.homePageCount&&i<games.length;i++){$('#last_box ol').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.home);}};that.renderMyLastPlayedGames=function(){var games=cookieApi.loadGames();if(games.length==0){$('#mylast_box_profile_page').empty();for(i=1;i<=10;i++){$('#mylast_box_profile_page').append('<li class="no-recently-empty"></li>');};return;}
$('li.no-last-text').remove();for(var i=0;i<config.settings.favesPageCount&&i<games.length;i++){$('ol#mylast_box').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.faves);}
$('a.clear-last-text').click(function(){clearGames();$('ol#mylast_box').empty().html('<li class="no-last-text">'+config.langStrings.noLastGames+'</li>');$('a.clear-last-text').remove();});};that.renderAtMyProfilePage=function(){var games=cookieApi.loadGames();if(games.length==0){$('#mylast_box_profile_page').empty();for(i=1;i<=5;i++){$('#mylast_box_profile_page').append('<li class="no-recently-empty"></li>');};$('a.myprofileRemoveRecently').add('div.myprofileRemoveRecentlyHolder').remove();return;}
$('li.no-last-text').remove();for(var i=0;i<5&&i<games.length;i++){$('ol#mylast_box_profile_page').append('<li id="'+config.settings.lastplayedgame+'_'+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,config.templates.myprofile);}
$('a.myprofileRemoveRecently').click(function(){clearGames();$('a.myprofileRemoveRecently').add('div.myprofileRemoveRecentlyHolder').remove();});};that.addGameAfterTimeframe=function(gameId,miliseconds){return setTimeout(function(){cookieApi.addGame(gameId);},miliseconds);};return that;})();;SPI.myGames=(function(){var config={settings:{game_url:'/gamedata/%s.json',timeout:7000,li_id:'mygame',splitter:'.',maxGames:100}};var localData={games:null,targetUser:null,currentRender:null,currentPage:null};var that={};var loadGames=function(data){try{if(data==null||data==''){data=[];}else{data=data.split(config.settings.splitter);for(var i=0;i<data.length;++i){data[i]=parseInt(data[i]);}}}catch(e){data=[];}
return data;};SPI.getAndUpdateConfig('myGames',config);var cookieApi=new SPI.gamesCookieProxy({cookieName:config.settings.cookieName});that.init=function(callback,params,targetuser){if(localData.targetuser||localData.games){callback.call(this,params);return;};localData.targetuser=targetuser;if(localData.targetuser==null){if($.profilar.loggedIn()){$.profilar.loadPref(function(){localData.games=loadGames($.profilar.getPref('mygames'));callback.call(this,params);},['mygames']);}else{callback.call(this,params);}}else{$.profilar.loadExternalPrefs([localData.targetuser],function(data,errors){targetUsertmpgames=data[0].mygames||'';localData.games=loadGames(targetUsertmpgames);callback.call(this,params);},['mygames']);};return;};var loadGame=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){if(currentpage!=-1){var html=SPI.render(config.templates.faves_error,{gameId:gameId});}else{var html=config.langStrings.notAvailable;}
$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((currentpage==-1?config.templates.home:config.templates.faves),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};var loadGameMyProfile=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){var html=$(SPI.render((config.templates.myprofile_error),{game_Id:gameId,error:config.langStrings.notAvailable}));$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((config.templates.myprofile),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};var loadGameUserProfile=function(gameId,ndx,currentpage){SPI.gameCache.getGame(gameId,function(obj){if(obj==null){var html=$(SPI.render((config.templates.userprofile_error),{game_Id:gameId,error:config.langStrings.notAvailable}));$("#"+config.settings.li_id+"_"+ndx).html(html);}else{obj.new_one=obj['new'];obj.gameId=gameId;var a=$(SPI.render((config.templates.userprofile),obj)).ntooltip({extraClass:'pretty',showBody:"| ",fancyImages:SPI._settings.tooltipFancyImagesArray}).spiIeh();$("#"+config.settings.li_id+"_"+ndx).empty().append(a);};});};that.hasGames=function(){return cookieApi.loadGames().length>0;};that.renderMyGames=function(page){if(games.length==0){return;}
$("ol#favorite-list").empty();var sitesQuantity=Math.ceil(games.length/config.settings.itemsPerPage);for(var i=(page*config.settings.itemsPerPage)-config.settings.itemsPerPage;i<(page*config.settings.itemsPerPage)&&i<games.length;i++){$('ol#favorite-list').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,page);}
var paging=SPI.paginatorString(games.length,page,config.settings.itemsPerPage,config.settings.maxPages,that.renderMyGames,config.langStrings);$("#paging_center").empty();if(paging!=''){$("#paging_center").append(paging);}
return false;};that.convertGames=function(){var savedgames=$.cookie(config.settings.cookieName)||'';if(savedgames!=''){$.profilar.setPref('mygames',savedgames);$.profilar.submitPref(function(errors){if(errors){}else{$.cookie(config.settings.cookieName,null);}});};};that.renderAtHomePage=function(){if($.profilar.loggedIn()){localData.currentRender='renderAtHomePage';localData.currentPage=0;var games=localData.games;if(games.length==0){$('#favorite_box .moreIn').hide();return;};if(games.length<7){$('#favorite_box .moreIn').css('display','none');};$('.no-faves-text').remove();for(var i=0;i<config.settings.itemsAtHomePage&&i<games.length;i++){$('#favorite_box ol').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGame(games[i],i,-1);};}else{$('.no-faves-text').text(config.langStrings.not_logged_in).show();};};that.renderAtMyprofilePage=function(){localData.currentRender='renderAtMyprofilePage';localData.currentPage=0;var games=localData.games;if(games.length==0){$('#favorite-list-myprofile').empty();for(i=1;i<=5;i++){$('#favorite-list-myprofile').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};$('#favorite-list-myprofile').empty();$('.no-faves-text').remove();for(var i=0;i<5&&i<games.length;i++){$('#favorite-list-myprofile').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameMyProfile(games[i],i,-1);};if(games.length>5){$('.myfavesmorelink').show();}else{$('.myfavesmorelink').hide();};};that.renderAtUserprofilePage=function(){localData.currentRender='renderAtUserprofilePage';localData.currentPage=0;$('.myfavesmorelink').hide();var games=localData.games;if(games.length==0){$('#usersfaves').empty();for(i=1;i<=5;i++){$('#usersfaves').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};$('#usersfaves').empty();$('.no-faves-text').remove();for(var i=0;i<5&&i<games.length;i++){$('#usersfaves').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameUserProfile(games[i],i,-1);};};that.renderAtMyfavesPage=function(page){localData.currentRender='renderAtMyfavesPage';localData.currentPage=page||1;var games=localData.games;if(games.length==0){$('#favorite-list-myprofile').empty();for(i=1;i<=5;i++){$('#favorite-list-myprofile').append('<li class="no-myfaves-empty"></li>');};$('.myfavesmorelink').hide();return;};pageGames=games.slice((parseInt(page)-1)*15,(parseInt(page)-1)*15+15);while(pageGames.length==0||page<=0){page--;pageGames=games.slice((parseInt(page)-1)*15,(parseInt(page)-1)*15+15);};localData.currentPage=page;$('#favorite-list-myprofile').empty();$('.no-faves-text').remove();for(var i=0;i<pageGames.length;i++){$('#favorite-list-myprofile').append('<li id="'+config.settings.li_id+"_"+i+'">'+config.langStrings.loading+'</li>');loadGameMyProfile(pageGames[i],i,-1);};var paging=SPI.paginatorString(games.length,page,15,config.settings.maxPages,that.renderAtMyfavesPage,config.langStrings);$("#paging_center").empty();if(paging!=''){$("#paging_center").append(paging);};};that.addToMyGames=function(title,gameid){var mygames=localData.games;if($.inArray(gameid,mygames)!=-1){alert(SPI.sprintf(config.langStrings.alreadyInMyGames,title));return;}else{mygames.unshift(gameid);if(mygames.length>config.settings.maxGames){mygames=mygames.slice(0,config.settings.maxGames);}
localData.games=mygames;mygames=mygames.join(config.settings.splitter);$.profilar.setPref('mygames',mygames);$.profilar.submitPref(function(errors){if(errors){alert(config.langStrings.error_html);return;}});alert(SPI.sprintf(config.langStrings.addedToMyGames,title));};};that.removeFromMyGames=function(gameid,gamename){if(localData.targetuser==null){var mygames=localData.games;if($.inArray(gameid,mygames)==-1){return;}else{mygames.splice($.inArray(gameid,mygames),1);localData.games=mygames;mygames=mygames.join(config.settings.splitter);$.profilar.setPref('mygames',mygames);$.profilar.submitPref(function(errors){if(errors){alert(config.langStrings.error_html);return;}});if(gamename){alert(SPI.sprintf(config.langStrings.removedFromMyGamesWithName,gamename));}else{alert(config.langStrings.removedFromMyGames);}
that[localData.currentRender].call(this,localData.currentPage);};};};return that;})();;SPI.rating=(function($){var config={settings:{url:"/rt/pr/1/add/%d/1/%d",timeout:3000,errorClass:'error'}};var that={},cookieApi,target;var showErrorText=function(){target.find('p.'+config.settings.errorClass).remove();target.append('<p class="'+config.settings.errorClass+'">'+config.langStrings.error_html+'</p>');};var handleError=function(data,mesg,error){showErrorText();};var handleResponse=function(data,mesg){var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode!=0){showErrorText();return;}
cookieApi.addGame(config.settings.game_id);target.html('<p>'+config.langStrings.thanks_for_voting_html+'</p>');$(config.settings.removeAfter).remove();};var sendRating=function(rating){$.ajax({url:SPI.sprintf(config.settings.url,SPI._settings.global.site_id,config.settings.game_id),global:false,type:'post',dataType:'xml',success:handleResponse,error:handleError,timeout:config.settings.timeout,data:{rating:rating}});};that.init=function(settings){SPI.getAndUpdateConfig('rating',config,settings);var expireDate=new Date();expireDate.setHours(23);expireDate.setMinutes(59);expireDate.setSeconds(59);cookieApi=new SPI.gamesCookieProxy({cookieName:config.settings.cookieName,cookieExpire:expireDate,splitter:config.settings.splitter});target=$(config.settings.target);if($.inArray(config.settings.game_id,cookieApi.loadGames())!=-1){target.append('<p>'+config.langStrings.already_voted_html+'</p>');$(config.settings.removeAfter).remove();return false;}
target.append(config.langStrings.like_dislike_html);target.find('a.like').click(function(){sendRating(1);}).end().find('a.dislike').click(function(){sendRating(0);});};return that;})(jQuery);;SPI.comments=(function($,SPI){var config={settings:{list_url:'/cm/pr/1/list/%s/1/%s',report_url:'/cm/pr/1/report/%s/1/%s/%s',send_url:'/cm/pr/1/add/%s/1/%s',timeout:7000,noimage:'/img/profile/dummy_small.jpg',li_id:'cmid_'}};var totalComments=-1;var allEnabled=false;var that={};var commentCache=[],plusTotal=0;var wrapManually=(function(){var userAgent=navigator.userAgent.toLowerCase();var version=(userAgent.match(/.+(?:firefox)[\/: ]([\d.]+)/)||[0,'0'])[1];if(/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)&&(version.substr(0,3)=='3.0'||version.substr(0,1)=='2')){return true;}
return false;})();that.fixWrap=function(text,newSeparator,wrap_limit){if(!wrapManually)return text;newSeparator=newSeparator||'\n';wrap_limit=wrap_limit===undefined?config.settings.wrap_words_limit:wrap_limit;var newText=text.split(/[\s]+/);var i,s;for(i=0;i<newText.length;++i){s='';while(newText[i].length>wrap_limit){s+=newText[i].substr(0,wrap_limit)+newSeparator;newText[i]=newText[i].substr(wrap_limit);}
newText[i]=s+newText[i];}
return newText.join(' ');};var updateTotalComments=function(){if(!allEnabled){$(config.settings.comments_more).text(SPI.sprintf(config.langStrings.read_all_folded,totalComments));}}
var reportHandler=function(){$.ajax({url:$(this).data('report_url'),data:{username:''},global:false,timeout:config.settings.timeout,type:'POST',success:function(data){alert(config.langStrings.report_popup);}});};var renderRow=function(row){row.date=SPI.formatDate(parseInt(row.timestamp));var ed=$(SPI.render(config.templates.li,row));ed.find(config.settings.comments_report).data('report_url',SPI.sprintf(config.settings.report_url,row.siteid,row.itemid,row.commentid)).click(reportHandler);return ed;};var errorHandler=function(data){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.error_loading+'</li>');};var loadHandler=function(data){if(data['commentar']==undefined||data.commentar['total']==undefined){errorHandler(data);return;}
if(data.commentar.total=='0'){data.commentar.resultset=[];}
var finalComments=[];plusTotal=0;if(commentCache.length>0){if(data.commentar.resultset.length>0){var timestampUser=0,timestampServer=0,timeDelta=0,j=0;for(var i=0;i<commentCache.length;++i){timestampServer=parseInt(commentCache[i].timestamp);while(data.commentar.resultset.length>j&&parseInt(data.commentar.resultset[j].timestamp)>timestampServer){finalComments.push(data.commentar.resultset[j]);j+=1;}
if(data.commentar.resultset.length>j){if(data.commentar.resultset[j].username.toLowerCase()==commentCache[i].username.toLowerCase()&&Math.abs(parseInt(data.commentar.resultset[j].timestamp)-timestampServer)<5){finalComments.push(data.commentar.resultset[j]);j+=1;}else{finalComments.push(commentCache[i]);plusTotal+=1;}}}
for(var i=j;i<data.commentar.resultset.length;i++){finalComments.push(data.commentar.resultset[i]);}
totalComments=parseInt(data.commentar.total)+plusTotal;}else{finalComments=commentCache;totalComments=commentCache.length;}}else{finalComments=data.commentar.resultset;totalComments=parseInt(data.commentar.total);}
updateTotalComments();if(totalComments==0){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.no_comments+'</li>');return;}
var users=[];for(var i in finalComments){finalComments[i].avatar_url=config.settings.noimage;if(finalComments[i].authenticated=='1'){users.push(finalComments[i].username);}}
$.profilar.loadExternalPrefs(users,function(pdata,errors){for(var j in finalComments){for(var k in pdata){if(pdata[k].username&&pdata[k].username.toLowerCase()==finalComments[j].username.toLowerCase()&&pdata[k].avatar){finalComments[j].avatar_url=SPI.sprintf(SPI._settings.global.avatar_url_small,pdata[k].avatar)||config.settings.noimage;}}}
if(totalComments>config.settings.max_folded){$(config.settings.comments_more).show();}else{$(config.settings.comments_more).hide();}
var comments_box=$(config.settings.comments_box);comments_box.empty();var i,ed,row;for(i=0;i<finalComments.length;++i){comments_box.append(renderRow(finalComments[i]));}},['avatar']);};var loadComments=function(){$(config.settings.comments_box).empty().append('<li class="comments_info">'+config.langStrings.loading_start+'</li>');$.ajax({cache:true,url:SPI.sprintf(config.settings.list_url,SPI._settings.global.site_id,config.settings.game_id),data:{authenticated:'0',pagesize:(allEnabled?config.settings.max_all:config.settings.max_folded),reported_limit:config.settings.reported_limit,outputtype:'json'},dataType:'json',global:false,timeout:config.settings.timeout,type:'GET',error:errorHandler,success:loadHandler});$(config.settings.comments_more).hide();totalComments=-1;};var checkErrors=function(){var ok=true;var comment=$('#cf_comment').val();var username=$('#cf_username').val();$(config.settings.comments_form).find('span.error').remove();$(config.settings.comments_form).find('p.error').removeClass('error');if(SPI.trim(comment).length==0||comment.length>config.settings.max_chars){ok=false;$('#cf_comment').after('<span class="error">'+config.langStrings.error_comment+'</span>').parent().addClass('error');}
return ok;};var submitErrorHandler=function(data){$(config.settings.comments_form).find('span.error').remove();$(config.settings.comments_form).find('p.error').removeClass('error');var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode=='503'){$('#cf_comment').after('<span class="error">'+config.langStrings.error_over_quota+'</span>');}else{$('#cf_comment').after('<span class="error">'+config.langStrings.error_submit+'</span>');}};var charsLeftHandler=function(){var text=$('#cf_comment').val();if(text.length>config.settings.max_chars){$('#cf_comment').val(text.substring(0,config.settings.max_chars));return false;}
$('#cf_chars_left').text(config.settings.max_chars-text.length);};var handleNewCommentCache=function(data,mesg){if(data.hyscor&&data.hyscor.errorcode!==undefined){return;}
commentCache.unshift({timestamp:data.hyscor.time,comment:this.comment,authenticated:1,commentid:-1,itemid:config.settings.game_id,username:$.profilar.forService().username,siteid:SPI._settings.global.site_id,reported:"0",reviewed:0,remote_addr:'0.xxx.xxx.xxx'});loadComments();};var submitHandler=function(){if(checkErrors()){$.ajax({cache:false,url:SPI.sprintf(config.settings.send_url,SPI._settings.global.site_id,config.settings.game_id),data:$(config.settings.comments_form).serialize(),dataType:'xml',global:false,timeout:config.settings.timeout,type:'POST',error:submitErrorHandler,success:function(data){var errorcode=$("errorcode",data).text();if(errorcode!=''&&errorcode!='0'){submitErrorHandler();return;}
var tmp=$('#cf_comment').val();$('#cf_comment').val('').change();$.ajax({cache:false,timeout:2000,url:config.settings.timeurl,type:'GET',dataType:'json',success:handleNewCommentCache,error:function(xml,mesg,error){handleNewCommentCache.call(this,{"hyscor":[]},'');},data:{outputtype:'json'},comment:tmp});}});}
return false;};var allHandler=function(){if(allEnabled){allEnabled=false;$(this).text(SPI.sprintf(config.langStrings.read_all_folded,totalComments));$(config.settings.comments_box).find('li:gt('+(config.settings.max_folded-1)+')').hide();}else{allEnabled=true;$(this).text(config.langStrings.read_all_unfolded);if($(config.settings.comments_box).find('li').length>config.settings.max_folded+plusTotal){$(config.settings.comments_box).find('li:gt('+(config.settings.max_folded-1)+')').show();}else{loadComments();}}};var commentAddHandler=function(){$("#loginform").show();$("#comment_add").hide();};var renderRowInProfile=function(row,game,i){row.date=SPI.formatDate(parseInt(row.timestamp),SPI._langStrings.relative_date_plain);row.gameurl=game.url;row.gamename=game.title;row.i=i+1;var ed=$(SPI.render(config.templates.li_profile,row));return ed;};var errorInProfileHandler=function(data){$(config.settings.comments_box_profile).empty().append('<li class="comments_info">'+config.langStrings.error_loading+'</li>');};var loadInProfileHandler=function(data){if(data['commentar']==undefined||data.commentar['total']==undefined){errorInProfileHandler(data);return;}
var comments_box=$(config.settings.comments_box_profile);comments_box.empty();if(parseInt(data.commentar.total)==0){if(this.targetUser==undefined){var no_comments_text=config.langStrings.myprofile_no_comments;}else{var no_comments_text=config.langStrings.publicprofile_no_comments;}
comments_box.append('<li><p class="comment_meta"><span class="comment_game">'+no_comments_text+'</span></p><p class="comment_text">&nbsp;</p></li>');return;}
var i,ed,row;for(i=0;i<data.commentar.resultset.length;++i){comments_box.append('<li id="'+config.settings.li_id+i+'" class="indicator'+(i==4?' last':'')+'">&nbsp;</li>');SPI.gameCache.getGame(data.commentar.resultset[i].itemid,function(_row,_i,_liid){return function(game){if(game){comments_box.find('#'+_liid).removeClass('indicator').empty().append(renderRowInProfile(_row,game,_i));}}}(data.commentar.resultset[i],i,config.settings.li_id+i));}};that.renderLatestsComments=function(targetUser){SPI.getAndUpdateConfig('comments',config);$(config.settings.comments_box_profile).empty().append('<li class="comments_info">'+config.langStrings.loading_start+'</li>');var getData={authenticated:'1',pagesize:config.settings.profile_limit,reported_limit:config.settings.reported_limit,outputtype:'json'};if(targetUser){getData.targetuser=targetUser;}else{getData.username=$.profilar.forService().username;getData.hash=$.profilar.forService().hash;}
$.ajax({cache:true,url:SPI.sprintf(config.settings.list_url,SPI._settings.global.site_id,0),data:getData,targetUser:targetUser,dataType:'json',global:false,timeout:config.settings.timeout,type:'GET',error:errorInProfileHandler,success:loadInProfileHandler});};that.init=function(settings){SPI.getAndUpdateConfig('comments',config,settings);$('#comment_add_href').click(commentAddHandler);$('#cf_submit').click(submitHandler);$('#cf_comment').change(charsLeftHandler).keyup(charsLeftHandler).change();$(config.settings.comments_more).click(allHandler);loadComments();};return that;})(jQuery,SPI);;SPI.gameZoom=function(multiplier){var $game=$('#flashobj');var width=parseInt($game.width()*multiplier);var height=parseInt($game.height()*multiplier);if(width>884){$('#bodywrap').css('width',(width+90)+'px');}
if(width<884){$('#bodywrap').css('width','974px');}
if(width<70||height<70){return;}
$game.css('width',width+'px');$game.css('height',height+'px');};var oSWFtoJS=SWFtoJS.instance();$(function(){$('#gameanchors').find('a[href="#a_rating"]').parent().localScroll({offset:-90,duration:700});$('#gameanchors').find('a[href="#a_comments"]').parent().localScroll({offset:-70,duration:700});$('#gameanchors').find('a[href="#game_details_box"]').parent().localScroll({offset:-90,duration:700});$('#gameanchors').find('a[href="#a_mygames"]').parent().localScroll({offset:-90,duration:700});$('#embed_input').click(function(){$(this).select();});$('#game-popularbox li a[href^="/game/"]').spiFeatureUrl('gamepagebox');$('#newgamesticker li a[href^="/game/"]').spiFeatureUrl('gpcarousel');$('#newgamesticker div.jCarouselLite').jCarouselLite({visible:6,scroll:6,btnNext:"#newgamesticker a.next",btnPrev:"#newgamesticker a.prev",speed:800});});
