
var geewa=geewa?geewa:{};geewa.loader={root:"http://cdn.static.geewa.net/api/js/",scripts:{"geewa.1":{pid:"0"},"debug.1":{pid:"1",dependency:["geewa.1"]},"game.1":{pid:"2",dependency:["geewa.1","stats.1"]},"messenger.1":{pid:"3",dependency:["geewa.1","debug.1"]},"server.1":{pid:"4",dependency:["geewa.1","debug.1"]},"stats.1":{pid:"5"},"ad.1":{pid:"6"},"fx.1":{pid:"7"},"lite.1":{pid:"8",dependency:["server.1","geewa.1","debug.1"]},"app.1":{pid:"9",dependency:["geewa.1","debug.1"]},"socialTab.1":{pid:"a",dependency:["geewa.1","fx.1"]}},packs:["013457","014578","01478","0134","0135","0145","025","014","013","019","01"],STATUS_NONE:0,STATUS_INSERTED:1,STATUS_LOADING:2,STATUS_DONE:3,startTime:new Date().valueOf(),status:this.STATUS_NONE,callbacks:[],obfuscated:true,add:function(){var A=(typeof(arguments[0])=="string"?{id:arguments[0]}:arguments[0]);var D=this.scripts[A.id];var C=false;if(D&&!D.status){for(var F in A){D[F]=A[F]}C=true}else{if(!D){D=A;C=true;this.scripts[A.id]=D}}if(C){D.status=this.STATUS_INSERTED;if(!this.status){this.status=this.STATUS_INSERTED}if(D.dependency){for(var B=0;B<D.dependency.length;B++){this.add(D.dependency[B])}}}else{if(A.id=="game.1"&&A.game){var E=this.scripts["game.1.params"].element;this.removeScript(E);delete this.scripts["game.1.params"];this.insertGameParams(A.game)}}},load:function(){this.status=this.STATUS_LOADING;if(arguments.length>0&&arguments[0]){this.loadCallback=arguments[0]}this.obfuscated=(arguments.length<2||arguments[1]);if(!this.pack&&this.obfuscated){this.packScripts()}for(var C in this.scripts){var B=this.scripts[C];if(B.status&&B.status==this.STATUS_INSERTED){B.status=this.STATUS_LOADING;if(!B.pid||!this.pack||this.pack.id.indexOf(B.pid)==-1||!this.obfuscated){var A=(B.url?B.url:(this.root+(this.obfuscated?"":"src/")+B.id+".js?"+this.cacheKeys[C]));B.element=this.insertScript(A)}}}},packScripts:function(){var A=this.getPack();this.pack={id:A};if(A!==""){this.pack.element=this.insertScript(this.root+"pack_"+A+".js?"+this.getPackCacheKey(A))}},getPack:function(){var C="";for(var E in this.scripts){if(this.scripts[E].status){C+=this.scripts[E].pid}}for(var B=0;B<this.packs.length;B++){var D=0;for(var A=0;A<this.packs[B].length;A++){if(C.indexOf(this.packs[B].charAt(A))==-1){break}else{D++}}if(D==this.packs[B].length){return this.packs[B]}}return""},getPackCacheKey:function(A){var C=0;for(var D in this.scripts){if(A.indexOf(this.scripts[D].pid)>-1){var B=parseInt(this.cacheKeys[D].replace(/\D/g,""),10);if(B>C){C=B}}}return C},insertGameParams:function(A){var B={id:"game.1.params",url:"http://gc001.geewa.com/games3/"+A+"/params2.js?"+this.cacheKeys["game.1"],gameID:A};this.add(B);this.scripts["game.1.params"].status=this.STATUS_LOADING;this.scripts["game.1.params"].element=this.insertScript(B.url)},addCallback:function(A){this.callbacks.unshift(A);if(this.status==this.STATUS_DONE){A()}},onComplete:function(C){this.scripts[C].status=this.STATUS_DONE;if(C.indexOf("game.")===0&&this.scripts[C].game){this.insertGameParams(this.scripts[C].game)}else{var A=false;for(var D in this.scripts){if(this.scripts[D].status&&this.scripts[D].status!=this.STATUS_DONE){A=true;break}}if(!A){this.status=this.STATUS_DONE;for(var B=0;B<this.callbacks.length;B++){this.callbacks[B]()}if(this.loadCallback){this.loadCallback()}}}},insertScript:function(B){var C=document.getElementsByTagName("head");if(C&&C.length>0){var A=document.createElement("script");A.src=B;A.type="text/javascript";A.async=true;C[0].appendChild(A);return A}else{return null}},removeScript:function(A){var B=document.getElementsByTagName("head");if(B&&B.length>0&&A){B[0].removeChild(A)}}};

geewa.loader.cacheKeys={"geewa.1":"2011120803","debug.1":"2011031601","game.1":"2011031601","messenger.1":"2011031601","messenger2.swf":"2011122301","avatarManager.1":"2011031603","server.1":"2012011701","stats.1":"2011031601","ad.1":"2011031601","ad.2":"2011110801","fx.1":"2011031601","lite.1":"2011120802","app.1":"2011102404","socialTab.1":"2012012508"};
﻿
