/* HTML5 Game sponsored by http://game4html.blogspot.com */ var G={id:null,x:0,y:0,z:0,on:1,CO:{},tag:document.getElementsByTagName('body').item(0),loopReference:null,iteration:0,interval:40,paused:0,hooks:{stop:{},preAI:{},postAI:{},system:{}},S:{},B:{},cBid:null,lBid:null,O:{},F:{},cookieId:'G',cookies:{},tmp:{},mediaURL:''};G.masterLoop=function(){var fn;G.loopReference=setTimeout(G.masterLoop,G.interval);if(!G.paused){G.iteration++;for(fn in G.hooks.preAI){G.hooks.preAI[fn]();} G.B[G.cBid].AI();for(fn in G.hooks.postAI){G.hooks.postAI[fn]();}} for(fn in G.hooks.system){G.hooks.system[fn]();} return G;};G.addHook=function(name,fn,type){G.hooks[type][name]=fn;return G;};G.deleteHook=function(name,type){delete G.hooks[type][name];return G;};G.pause=function(){G.paused=1;return G;};G.unpause=function(){G.paused=0;return G;};G.makeBlock=function(id,load){G.B[id]=new G.Block(id);if(load)G.B[id].load=load;return G;};G.loadBlock=function(id){if(G.cBid)G.B[G.cBid].unload();G.lBid=G.cBid;G.cBid=id;G.B[id].load();return G;};G.setState=function(O){for(var i in O)G.S[i]=O[i];return G;};G.makeGob=function(id,parentGob,tagName,parentTag){if(G.O[id])G.deleteGob(id);return new G.Gob(id,parentGob,tagName,parentTag);};G.deleteGob=function(id){var i;if(!G.O[id]){return G;} try{G.O[id].tag.parentNode.removeChild(G.O[id].tag);}catch(e){} for(i in G.B)delete G.B[i].O[id];for(i in G.O)delete G.O[i].CO[id];delete G.O[id];delete G.CO[id];return G;};G.loadCookies=function(){if(typeof G.cookieId!='string'||!document.cookie)return;var i=0,cookie,arr=document.cookie.split(';'),re=new RegExp(unescape(G.cookieId)+'=');for(i=0;i=t.docx&&y<=(t.docy+t.tag.offsetHeight)&&y>=t.docy;};G.Gob.prototype.tagContainsMouse=function(){return this.tagContainsXY(G.M.x,G.M.y);};G.Gob.prototype.tagContainsMouseDown=function(){return G.M.isPressed&&this.tagContainsXY(G.M.down.x,G.M.down.y);};G.Gob.prototype.tagContainsMouseClick=function(){return G.M.wasPressed&&this.tagContainsXY(G.M.down.x,G.M.down.y)&&this.tagContainsXY(G.M.up.x,G.M.up.y,true);};G.Gob.prototype.checkIntersection=function(gob){var t=this;return!(!gob.on||t.x+t.wgob.x+gob.w||t.y+t.hgob.y+gob.h);};G.Gob.prototype.checkCollision=function(gob){var t=this;return!(!gob.on||t.x+t.wgob.x+gob.w+0.6||t.y+t.hgob.y+gob.h+0.6);};G.Gob.prototype.setXY=function(O){var i,t=this;for(i in O){switch(i){case'x':t.lx=t.x;t.x=O[i];t.nx=O[i];if(O.y){t.ly=t.y;t.y=O.y;t.ny=O.y;delete O.y;t.drawY=1;}else{t.ly=t.y;t.ny=t.y;} t.drawX=1;break;case'y':t.ly=t.y;t.y=O[i];t.ny=O[i];if(O.x){t.lx=t.x;t.x=O.x;t.nx=O.x;delete O.x;t.drawX=1;}else{t.lx=t.x;t.nx=t.x;} t.drawY=1;break;case'nx':t.lx=t.x;t.nx=O[i];break;case'ny':t.ly=t.y;t.ny=O[i];break;}} return t;};G.Gob.prototype.incrementXY=function(){var t=this,i=(t.w0){return 1;} else if(n<0){return-1;} return 0;} G.F.testSegmentX=function(a,b) {var d=b.x-a.x;if((d>=0)&&(d=0)&&(d0)&&(d0)&&(d16) {t.setVar({x:t.x-8}).draw();}} if(k.RIGHT.isPressed||k.RIGHT2.isPressed) {if(t.x<(500-16-32)) {t.setVar({x:Math.min(t.x+8,500-16-32)}).draw();}}}};G.F.gbalAI=function() {var t=this;var g=G.O;if(G.S.GState==0) {} else if(G.S.GState==1) {t.setVar({x:t.x+t.S.vx,y:t.y+t.S.vy}) t.draw();if(t.checkIntersection(g.w0)) {t.setState({vx:-t.S.vx});t.setVar({x:16}).draw();G.setState({GScore:G.S.GScore+1});} else if(t.checkIntersection(g.w1)) {t.setState({vx:-t.S.vx});t.setVar({x:500-26}).draw();G.setState({GScore:G.S.GScore+1});} if(t.checkIntersection(g.w2)) {t.setState({vy:-t.S.vy});t.setVar({y:16}).draw();G.setState({GScore:G.S.GScore+1});} if(t.checkIntersection(g.gpad)) {var nsx=G.F.testSegmentX(t,g.gpad);if(Math.abs(nsx)<8) {if(((nsx<0)&&(t.S.vx>0))||(nsx>0)&&(t.S.vx<0)) {t.setState({vx:-t.S.vx});}} t.setState({vy:-t.S.vy});t.setVar({y:500-46}).draw();G.setState({GScore:G.S.GScore+2});} else if(t.checkIntersection(g.w3)) {t.S.vy*=-1;t.setVar({y:500-26}).draw();if(G.S.GScore>=50) {G.setState({GScore:G.S.GScore-50,GTock:true,GState:1});} else {G.setState({GScore:0,GTock:true,GState:0});G.O.viewport.turnOff();}} var gx=G.S.GBlock;var lx=gx.length;for(var ix=0;ixMath.abs(nny)) {t.setState({vy:-t.S.vy});t.setVar({y:t.y+nny});} else {t.setState({vx:-t.S.vx,vy:-t.S.vy});t.setVar({x:t.x+nnx,y:t.y+nny});} t.draw();ggx.turnOff();ggx.setState({GTouch:true});G.setState({GTouch:G.S.GTouch+1});G.setState({GScore:G.S.GScore+5});break;}} if(G.S.GTouch==lx) {G.setState({GTouch:0});for(var ix=0;ix