/*
 *
 * Galaxoid v2.8.0 
 * @2007-2010 trevor cowley. all rights reserved. 
 * http://gogomakeplay.com/
 *
 */
G.cookieId='galaxoid';G.F.mainAI=function(){var i,j,Exp;if(G.iteration%4==0){G.O.score.AI();G.O.hiScore.AI()}G.O['star'+G.iteration%10].AI();G.O['star'+(G.iteration%10+10)].AI();G.O['star'+(G.iteration%10+20)].AI();G.O.help.AI();if(G.O.helpText.on){if(G.O.helpText.tagContainsMouseClick())G.O.helpText.turnOff()}else if(G.S.die){G.S.die++;for(i=0;i<28;i++)G.O['alien'+i].AI();for(i=0;i<10;i++)G.O['exp'+i].AI();for(i=0;i<9;i++)G.O['bullet'+i].AI();if(G.S.die==40){if(G.S.ships){G.O['ship'+G.S.ships].turnOff();G.O.ship0.setVar({x:156}).setState({showShield:0,showBullets:0}).turnOn();G.S.bullets=2;if(G.S.alienCount>0){G.S.level--;G.S.tryAgain=1}}else{G.S.level--;G.O.ship1.turnOn();G.O.ship2.turnOn()}G.S.die=0;G.S.alienCount=0}else if(G.S.die%4==0&&G.S.die<17){Exp=G.F.getNextExplosionSprite();Exp.setVar({x:G.O.ship0.x+12,y:G.O.ship0.y+15}).setState({type:4,eColor:'#fff'}).AI('reset').turnOn()}else if(G.S.die==2){Exp=G.F.getNextExplosionSprite();Exp.setVar({x:G.O.ship0.x+12,y:G.O.ship0.y+15}).setState({type:4,eColor:'#fff'}).AI('reset').turnOn();G.O.ship0.turnOff();G.O.shipShield.turnOff();G.O.shipCannon.turnOff();G.S.ships--;if(G.S.ships<1)G.O.startGame.setStyle({fontSize:'32px'}).setSrc('Game Over').turnOn();G.O.pow.AI()}}else if(G.O.ready.on){if(G.O.startGame.on||G.O.ready.S.i>80){G.S.level++;G.O.ell.setSrc('<span>L</span>'+G.S.level).draw();G.setState({loadTimer:25,alienCount:28,load0:10,load1:10,load2:10,load3:10});G.setState({attackLevel:Math.floor(G.S.level/5)+2,attackTimer:70,nextAttack:0,powStart:0});G.S.attackSet.sort(function(){return 0.5-Math.random()});G.O.ready.turnOff();if(G.S.level%2==0||G.S.level>8)G.setState({powStart:Math.floor(Math.random()*300)+100,powTimer:1});G.O.pow.setVar({x:-50}).turnOn()}else if(G.O.ready.S.i==5){if(G.S.tryAgain){G.S.tryAgain=0;G.O.tryAgain.setSrc('Try Again!').turnOn()}else if(!G.S.score&&G.S.ships==2){G.O.controls.turnOn()}else{G.O.tryAgain.setSrc('Level Up!').turnOn()}}else if(G.O.ready.S.i==40){G.O.tryAgain.turnOff()}else if(!G.O.controls.on&&G.O.ready.S.i==45){G.O.ready.setVar({tx:0}).draw()}else if(G.O.ready.S.i==55){G.O.controls.turnOff();G.O.ready.setVar({tx:0}).draw()}G.O.ready.S.i++;G.O.ship0.AI();G.O.pow.AI();for(i=0;i<10;i++)G.O['exp'+i].AI();for(i=0;i<9;i++)G.O['bullet'+i].AI()}else{if(G.keys.fire('wasPressed'))G.S.justFired=0;G.O.ship0.AI();if(G.O.startGame.on)for(i=4;i<9;i++)G.O['bullet'+i].AI();else for(i=0;i<9;i++)G.O['bullet'+i].AI();for(i=0;i<28;i++)G.O['alien'+i].AI();for(i=0;i<10;i++)G.O['exp'+i].AI();G.O.pow.AI();G.S.powTimer++;if(G.O.startGame.on)G.O.startGame.AI();if(G.S.loadTimer<425){if(G.S.loadTimer<100&&!G.S.load0)G.S.loadTimer=100;if(G.S.loadTimer<200&&!G.S.load1)G.S.loadTimer=200;if(G.S.loadTimer<300&&!G.S.load2)G.S.loadTimer=300;if(G.S.loadTimer<400&&!G.S.load3)G.S.loadTimer=400;G.S.loadTimer++;if(G.S.level>7&&G.S.loadTimer%100<30)G.S.loadTimer++;if(G.iteration%(50-Math.min(G.S.level,40))==0){G.S.firingAlien=0;for(i=0;i<28;i++){if(G.S.attackSet[i].on&&G.S.attackSet[i].y<220&&G.S.attackSet[i].y>0&&G.S.attackSet[i].x>-20&&G.S.attackSet[i].x<340&&!G.S.attackSet[i].S.firing&&G.S.attackSet[i].S.action=='loading'){G.S.firingAlien=G.S.attackSet[i];break}}}}else if(G.S.alienCount>0){G.S.attackTimer++;G.S.attackTimer%=(Math.floor(120/(G.S.level+3))+10);if(!G.S.attackTimer){j=1;for(i=G.S.nextAttack;i<28;i++){if(G.S.attackSet[i].on&&G.S.attackSet[i].S.action!='attack'){G.S.nextAttack=i;j=0;G.S.attackSet[i].setState({action:'attack',attackseq:0,attacktype:Math.floor(Math.random()*(G.S.attackLevel*2))});break}}if(j){for(i=0;i<G.S.nextAttack;i++){if(G.S.attackSet[i].on&&G.S.attackSet[i].S.action!='attack'){G.S.nextAttack=i;G.S.attackSet[i].setState({action:'attack',attackseq:0,attacktype:Math.floor(Math.random()*(G.S.attackLevel*2))});break}}}}if(G.iteration%(50-Math.min(G.S.level,40))==0){G.S.firingAlien=0;for(i=0;i<28;i++){if(G.S.attackSet[i].on&&(G.S.level<6||G.S.attackSet[i].S.action=='attack')&&G.S.attackSet[i].y<280&&!G.S.attackSet[i].S.firing){G.S.firingAlien=G.S.attackSet[i];break}}}}if(G.S.alienCount<1){for(i=0;i<28;i++)G.O['alien'+i].setVar({x:-40,y:-40}).draw().setState({action:'loading'}).turnOn();G.O.ready.setState({i:0}).setVar({tx:500}).turnOn()}}};G.F.helpAI=function(){if(!this.on)return;var t=this;if(t.tagContainsMouse()){if(t.tagContainsMouseClick()){if(G.O.helpText.on){G.O.helpText.turnOff();G.O.sb1.turnOff();G.O.sb2.turnOff()}else{G.O.helpText.turnOn();G.O.sb1.turnOn();G.O.sb2.turnOn()}}if(!t.S.hover)t.swapClass('buttonUp','buttonDown').draw().S.hover=1}else if(t.S.hover)t.swapClass('buttonDown','buttonUp').draw().S.hover=0};G.F.startGameAI=function(){if(!this.on)return;var t=this,i;if(G.iteration%80==0)t.setStyle({fontSize:'32px'}).setSrc('Galaxoid').draw();else if(G.iteration%80==40)t.setStyle({fontSize:'28px'}).setSrc('Click To Play').draw();if(t.tagContainsMouse()){if(t.tagContainsMouseClick()){G.O.score.setState({score:0}).setSrc('0000000').draw();G.setState({level:0,ships:2,shield:0,bullets:2,alienCount:0,score:0});t.turnOff();for(i=0;i<9;i++)G.O['bullet'+i].setState({firing:0}).setVar({x:-15000,y:-15000}).draw();for(i=0;i<28;i++)G.O['alien'+i].setVar({x:-40,y:-40}).draw();G.O.ship2.turnOff();G.O.ship0.setVar({x:156}).turnOn()}if(!t.S.hover)t.swapClass('startButtonUp','buttonDown').draw().S.hover=1}else if(t.S.hover)t.swapClass('buttonDown','startButtonUp').draw().S.hover=0};G.F.explosionAI=function(cmd){var t=this,F=t.S.frame;if(cmd=='reset'){t.setState({frame:(t.S.type==4)?5:0}).setVar({tx:0,ty:0,tw:0,th:0}).removeClass('explosion2','explosion').setStyle({borderColor:'#000'});if(t.S.type>2)t.addClass('explosion2').turnOff();else t.addClass('explosion').turnOff()}else{if(!t.on)return t;if(t.S.type==4){if(F==5)t.setStyle({borderColor:t.S.eColor});if(F<14)t.setVar({tx:-(F*F+1),ty:-(F*F+1),tw:F*F*2+2,th:F*F*2+2}).draw();else t.turnOff()}else if(t.S.type==3){if(F==0)t.setStyle({borderColor:t.S.eColor});if(F<11)t.setVar({x:G.O.ship0.x+11,tx:-((17-F)*(17-F)/2+1),ty:-((17-F)*(17-F)/2+1),tw:(17-F)*(17-F)+2,th:(17-F)*(17-F)+2}).draw();else t.turnOff()}else if(t.S.type==2){if(F==0)t.setStyle({borderColor:t.S.eColor});if(F<8)t.setVar({tx:-(F*F+1),ty:-(F*F+1),tw:F*F*2+2,th:F*F*2+2}).draw();else if(F<14)t.setVar({tx:-((14-F)*(14-F)+1),ty:-((14-F)*(14-F)+1),tw:(14-F)*(14-F)*2+2,th:(14-F)*(14-F)*2+2}).draw();else t.turnOff()}else{if(F==0)t.setStyle({borderColor:t.S.eColor});if(F<9)t.setVar({tx:-((9-F)*(9-F)/2+1),ty:-((9-F)*(9-F)/2+1),tw:(9-F)*(9-F)+2,th:(9-F)*(9-F)+2}).draw();else t.turnOff()}t.S.frame++}return t};G.F.starAI=function(){var t=this;t.S.i++;t.S.i%=3;t.setStyle({backgroundColor:G.S.starColors[t.S.i]}).draw();return t};G.F.shipAI=function(){var t=this,Exp;if(!t.on)return t;if(G.keys.left('isPressed')){if(t.x>5){t.setVar({x:t.x-5}).draw();G.O.shipCannon.setVar({x:t.x+10}).draw();G.O.shipShield.setVar({x:t.x-10}).draw()}}else if(G.keys.right('isPressed')){if(t.x<310){t.setVar({x:t.x+5}).draw();G.O.shipCannon.setVar({x:t.x+10}).draw();G.O.shipShield.setVar({x:t.x-10}).draw()}}if(t.S.showShield){t.S.showShield--;if(!t.S.showShield){if(G.S.shield<6)G.S.shield=Math.min(G.S.shield+3,6);G.O.shipShield.setVar({x:t.x-10}).setStyle({borderColor:'#'+G.S.shieldColors[Math.floor(G.S.shield/4)]}).turnOn()}else if(t.S.showShield==12){Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+12,y:t.y+11}).setState({type:3,eColor:'#93f'}).AI('reset').turnOn()}}if(t.S.showBullets){t.S.showBullets--;if(!t.S.showBullets){G.S.bullets++;G.O.shipCannon.setVar({x:t.x+10}).turnOn()}else if(t.S.showBullets==12){Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+12,y:t.y+11}).setState({type:3,eColor:'#93f'}).AI('reset').turnOn()}}return t};G.F.powerUpAI=function(){var t=this,i,Exp;if(!t.on||!G.S.powStart)return t;if(G.S.powTimer==G.S.powStart){t.S.left=Math.floor(Math.random()*2);if(t.S.left)t.setVar({x:-40}).draw();else t.setVar({x:350}).draw();if(G.S.bullets==2)t.S.powType=0;else if(G.S.shield<2)t.S.powType=1;else if(G.S.bullets==3)t.S.powType=0;else t.S.powType=1}else if(G.S.powTimer>G.S.powStart&&G.S.powTimer<G.S.powStart+400){if(G.S.die){Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+6,y:t.y+8}).setState({type:2,eColor:t.S.eColor}).AI('reset').turnOn();t.turnOff();return t}if(t.S.left)t.setVar({x:t.x+3+(G.S.level/10)}).draw();else t.setVar({x:t.x-(3+(G.S.level/10))}).draw();if(t.S.left&&t.x>540)t.S.left=0;else if(!t.S.left&&t.x<-240)t.S.left=1;if(G.S.powTimer>G.S.powStart+200&&((t.S.left&&t.x>350)||(!t.S.left&&t.x<-40)))t.turnOff();for(i=0;i<G.S.bullets;i++){b=G.O['bullet'+i];if(t.checkIntersection(b)){b.setVar({x:-15000,y:-15000}).setState({firing:0}).draw();G.F.addScore(t.S.score);Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+6,y:t.y+8}).setState({type:2,eColor:t.S.eColor}).AI('reset').turnOn();t.turnOff();if(!G.S.die){if(t.S.powType&&G.S.shield<6)G.O.ship0.S.showShield=23;else if(!t.S.powType&&G.S.bullets<4)G.O.ship0.S.showBullets=23}break}}}return t};G.F.bulletAI=function(){var t=this;if(!t.on||t.S.i>=G.S.bullets)return t;if(G.keys.fire('isPressed')&&!t.S.firing&&!G.S.justFired&&G.S.alienCount>0){t.S.firing=1;G.S.justFired=1;t.setVar({x:G.O.ship0.x+12,y:G.O.ship0.y+10}).draw()}if(t.S.firing){if(t.y>5)t.setVar({y:t.y-18}).draw();else t.setState({firing:0}).setVar({x:-15000,y:-15000}).draw()}return t};G.F.alienBulletAI=function(){var t=this,Exp,ship=G.O.ship0;if(!t.on)return t;if(!t.S.firing&&G.S.firingAlien){t.S.firing=1;t.S.deflect=(Math.random()-0.5)*Math.min(G.S.level,5);t.setVar({x:G.S.firingAlien.x+8,y:G.S.firingAlien.y+24}).draw();t.S.firingAlien=G.S.firingAlien;t.S.firingAlien.S.firing=1;G.S.firingAlien=0}if(t.S.firing){if(!G.S.die&&t.y<445)t.setVar({x:t.x+t.S.deflect,y:t.y+6+G.S.level/10}).draw();else{t.S.firingAlien.S.firing=0;t.setState({firing:0,firingAlien:0}).setVar({x:-15000,y:-15000}).draw()}}if(ship.on&&!G.S.die&&t.y+t.h>358&&t.y<408&&t.x+t.w>ship.x-10&&t.x<ship.x+ship.w+10){if(G.S.shield>0){G.S.shield--;if(!G.S.shield)G.O.shipShield.turnOff();else G.O.shipShield.setVar({x:ship.x-10}).setStyle({borderColor:'#'+G.S.shieldColors[Math.floor(G.S.shield/3)]}).turnOn();Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x,y:t.y}).setState({type:1,eColor:'#ff8'}).AI('reset').turnOn();t.S.firingAlien.S.firing=0;t.setState({firing:0,firingAlien:0}).setVar({x:-15000,y:-15000}).draw()}else if(t.y+t.h>378&&t.y<398&&t.x+t.w>ship.x&&t.x<ship.x+ship.w){t.S.firingAlien.S.firing=0;t.setState({firing:0,firingAlien:0}).setVar({x:-15000,y:-15000}).draw();G.S.die=1}}return t};G.F.alienAI=function(){var t=this,Exp,loadSeq,ti,i,b,ship=G.O.ship0;if(!t.on)return t;if(G.S.die){if(t.y>-40)t.setVar({y:t.y-20}).draw()}else if(t.S.action=='loading'){ti=G.S.loadTimer-t.S.loadSet*100-t.S.loadSeq;if(ti>0){if(t.S.loadSet<2){if(G.S.level%7==6){if(t.S.loadSet==0){if(ti<44)t.setVar({y:365-380*G.F.trajectory('cochleoidx',(ti+5)/26),x:300-300*G.F.trajectory('cochleoidy',(ti+5)/6)}).draw();else if(ti==44)t.setVar({y:340,x:-50+G.S.level*5}).draw();else if(ti<58)t.setVar({x:t.x+((t.S.gridx-t.x)/(58-ti)),y:t.y+((t.S.gridy-t.y)/(58-ti))}).draw()}else{if(ti<44)t.setVar({y:365-380*G.F.trajectory('cochleoidx',(ti+6)/26),x:15+300*G.F.trajectory('cochleoidy',(ti+6)/6)}).draw();else if(ti==44)t.setVar({y:340,x:370-G.S.level*5}).draw();else if(ti<58)t.setVar({x:t.x+((t.S.gridx-t.x)/(58-ti)),y:t.y+((t.S.gridy-t.y)/(58-ti))}).draw()}}else if(G.S.level%7==5){if(t.S.loadSet==0){if(ti<32)t.setVar({x:165+260*G.F.trajectory('hypery',(ti)/3),y:100+200*G.F.trajectory('hyperx',(ti)/6)}).draw();else if(ti<42)t.setVar({x:t.x+((t.S.gridx-t.x)/(42-ti)),y:t.y+((t.S.gridy-t.y)/(42-ti))}).draw()}else{if(ti<32)t.setVar({x:165-260*G.F.trajectory('hypery',(ti)/3),y:100+200*G.F.trajectory('hyperx',(ti)/6)}).draw();else if(ti<42)t.setVar({x:t.x+((t.S.gridx-t.x)/(42-ti)),y:t.y+((t.S.gridy-t.y)/(42-ti))}).draw()}}else if(G.S.level%7==4){if(t.S.loadSet==0){if(ti<40)t.setVar({x:225-240*G.F.trajectory('cochleoidx',(ti+2)/11),y:270-330*G.F.trajectory('cochleoidy',(ti+2)/6)}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:92+240*G.F.trajectory('cochleoidx',(ti+2)/11),y:270-330*G.F.trajectory('cochleoidy',(ti+2)/6)}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%7==3){if(t.S.loadSet==0){if(ti<32)t.setVar({x:280-(ti-30)*((ti-30)*(ti-6)-1)/13,y:280-(ti-25)*(ti-25)}).draw();else if(ti<45)t.setVar({x:t.x+((t.S.gridx-t.x)/(45-ti)),y:t.y+((t.S.gridy-t.y)/(45-ti))}).draw()}else{if(ti<32)t.setVar({x:30+(ti-30)*((ti-30)*(ti-6)-1)/13,y:280-(ti-25)*(ti-25)}).draw();else if(ti<45)t.setVar({x:t.x+((t.S.gridx-t.x)/(45-ti)),y:t.y+((t.S.gridy-t.y)/(45-ti))}).draw()}}else if(G.S.level%7==2){if(t.S.loadSet==0){if(ti<40)t.setVar({x:215-240*G.F.trajectory('cochleoidx',(ti)/6),y:230-260*G.F.trajectory('cochleoidy',(ti)/6)}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:100+240*G.F.trajectory('cochleoidx',(ti)/6),y:230-260*G.F.trajectory('cochleoidy',(ti)/6)}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%7==1){if(t.S.loadSet==0){if(ti<40)t.setVar({x:210-150*G.F.trajectory('eightsx',(ti+60)/10),y:100-160*G.F.trajectory('eightsy',(ti+60)/10)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx-t.x)/(50-ti)),y:t.y+((t.S.gridy-t.y)/(50-ti))}).draw()}else{if(ti<40)t.setVar({x:105+150*G.F.trajectory('eightsx',(ti+60)/10),y:100-160*G.F.trajectory('eightsy',(ti+60)/10)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx-t.x)/(50-ti)),y:t.y+((t.S.gridy-t.y)/(50-ti))}).draw()}}else{if(t.S.loadSet==0){if(ti<40)t.setVar({x:150-440*G.F.trajectory('eightsx',(ti+60)/10),y:100-160*G.F.trajectory('eightsy',(ti+60)/10)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx-t.x)/(50-ti)),y:t.y+((t.S.gridy-t.y)/(50-ti))}).draw()}else{if(ti<40)t.setVar({x:160+440*G.F.trajectory('eightsx',(ti+60)/10),y:100-160*G.F.trajectory('eightsy',(ti+60)/10)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx-t.x)/(50-ti)),y:t.y+((t.S.gridy-t.y)/(50-ti))}).draw()}}}else{if(G.S.level%6==5){if(t.S.loadSet==2){if(ti<40)t.setVar({x:130+((G.S.level%2)*20)+(ti-20)*((ti-20)*(ti-20)-2)/80,y:160+(ti-20)*(ti-20)*0.7}).draw();else if(ti==40)t.setVar({x:156,y:-40}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:190-((G.S.level%2)*20)-(ti-20)*((ti-20)*(ti-20)-2)/80,y:160+(ti-20)*(ti-20)*0.7}).draw();else if(ti==40)t.setVar({x:156,y:-40}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%6==4){if(t.S.loadSet==2){if(ti<40)t.setVar({x:295-(ti-18)*((ti-18)*(ti-5)-2)/30,y:250-(ti-20)*(ti-20)*1.8}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:30+(ti-18)*((ti-18)*(ti-5)-2)/30,y:250-(ti-20)*(ti-20)*1.8}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%6==3){if(t.S.loadSet==2){if(ti<40)t.setVar({x:20+(ti-20)*(ti-20)*1.8,y:200-(ti-20)*((ti-20)*(ti-20)-1)/50}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:310-(ti-20)*(ti-20)*1.8,y:200-(ti-20)*((ti-20)*(ti-20)-1)/50}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%6==2){if(t.S.loadSet==2){if(ti<40)t.setVar({x:-40+ti*8.8,y:300-(Math.pow(33,(ti-10)/18))}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else{if(ti<40)t.setVar({x:360-ti*8.8,y:300-(Math.pow(33,(ti-10)/18))}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}}else if(G.S.level%6==1){if(t.S.loadSet==2){if(ti<44)t.setVar({x:240-240*G.F.trajectory('cochleoidx',(ti+1)/26),y:280-260*G.F.trajectory('cochleoidy',(ti+1)/6)}).draw();else if(ti<70)t.setVar({x:t.x+((t.S.gridx-t.x)/(70-ti)),y:t.y+((t.S.gridy-t.y)/(70-ti))}).draw()}else{if(ti<44)t.setVar({x:80+240*G.F.trajectory('cochleoidx',(ti+1)/26),y:280-260*G.F.trajectory('cochleoidy',(ti+1)/6)}).draw();else if(ti<70)t.setVar({x:t.x+((t.S.gridx-t.x)/(70-ti)),y:t.y+((t.S.gridy-t.y)/(70-ti))}).draw()}}else{if(t.S.loadSet==2){if(ti<44)t.setVar({y:200+280*G.F.trajectory('cochleoidx',(ti+15)/26),x:290-260*G.F.trajectory('cochleoidy',(ti+15)/6)}).draw();else if(ti<52)t.setVar({x:t.x+((t.S.gridx-t.x)/(52-ti)),y:t.y+((t.S.gridy-t.y)/(52-ti))}).draw()}else{if(ti<44)t.setVar({y:200+280*G.F.trajectory('cochleoidx',(ti+15)/26),x:30+260*G.F.trajectory('cochleoidy',(ti+15)/6)}).draw();else if(ti<52)t.setVar({x:t.x+((t.S.gridx-t.x)/(52-ti)),y:t.y+((t.S.gridy-t.y)/(52-ti))}).draw()}}}if(loadSeq>75&&t.x==t.S.gridx&&t.y==t.S.gridy){t.S.action='loaded'}}}else if(t.S.action=='attack'){t.S.attackseq++;ti=t.S.attackseq;if(t.S.attacktype%8==7&&G.S.level>14){if(ti<49)t.setVar({x:t.S.gridx+180*G.F.trajectory('eightsx',(ti+90)/15+1.75),y:t.S.gridy-380*G.F.trajectory('eightsy',(ti+90)/15+1.75)}).draw();else if(ti==49)t.setVar({x:t.S.gridx,y:t.S.gridy}).draw()}else if(t.S.attacktype%8==6&&G.S.level>14){if(ti<49)t.setVar({x:t.S.gridx-180*G.F.trajectory('eightsx',(ti+90)/15+1.75),y:t.S.gridy-380*G.F.trajectory('eightsy',(ti+90)/15+1.75)}).draw();else if(ti==49)t.setVar({x:t.S.gridx,y:t.S.gridy}).draw()}else if(t.S.attacktype%8==5){if(ti<44)t.setVar({y:t.S.gridy+275-310*G.F.trajectory('cochleoidx',(ti+12)/26),x:t.S.gridx-95+460*G.F.trajectory('cochleoidy',(ti+23)/5)}).draw();else if(ti==44)t.setVar({x:t.x-50,y:-50}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else if(t.S.attacktype%8==4){if(ti<44)t.setVar({y:t.S.gridy+275-310*G.F.trajectory('cochleoidx',(ti+12)/26),x:t.S.gridx+95-460*G.F.trajectory('cochleoidy',(ti+23)/5)}).draw();else if(ti==44)t.setVar({x:t.x-50,y:-50}).draw();else if(ti<60)t.setVar({x:t.x+((t.S.gridx-t.x)/(60-ti)),y:t.y+((t.S.gridy-t.y)/(60-ti))}).draw()}else if(t.S.attacktype%8==3||(t.S.attacktype%8==7&&G.S.level>7)){if(ti<23)t.setVar({y:t.S.gridy+80*G.F.trajectory('cochleoidx',(40-ti)/8-1.5),x:t.S.gridx+60*G.F.trajectory('cochleoidy',(40-ti)/8-1.5)}).draw();else if(ti<50)t.setVar({x:t.x-((ti-18)/5)*((ti-18)/5)+((t.S.gridx-100-t.x)/(50-ti)),y:t.y+((430-t.y)/(50-ti))}).draw();else if(ti==50)t.setVar({x:t.x-250}).draw();else if(ti<75)t.setVar({x:t.x+((t.S.gridx-t.x)/(75-ti)),y:t.y+((t.S.gridy-t.y)/(75-ti))}).draw()}else if(t.S.attacktype%8==2||(t.S.attacktype%8==6&&G.S.level>7)){if(ti<23)t.setVar({y:t.S.gridy+80*G.F.trajectory('cochleoidx',(40-ti)/8-1.5),x:t.S.gridx-60*G.F.trajectory('cochleoidy',(40-ti)/8-1.5)}).draw();else if(ti<50)t.setVar({x:t.x+((ti-18)/5)*((ti-18)/5)+((t.S.gridx+100-t.x)/(50-ti)),y:t.y+((430-t.y)/(50-ti))}).draw();else if(ti==50)t.setVar({x:t.x+250}).draw();else if(ti<75)t.setVar({x:t.x+((t.S.gridx-t.x)/(75-ti)),y:t.y+((t.S.gridy-t.y)/(75-ti))}).draw()}else if(t.S.attacktype%8==1||t.S.attacktype%8==7){if(ti<21)t.setVar({y:t.S.gridy+80*G.F.trajectory('cochleoidx',(40-ti)/8-1.5),x:t.S.gridx-60*G.F.trajectory('cochleoidy',(40-ti)/8-1.5)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx+100-t.x)/(50-ti)),y:t.y+((430-t.y)/(50-ti))}).draw();else if(ti==50)t.setVar({y:-40}).draw();else if(ti<75)t.setVar({x:t.x+((t.S.gridx-t.x)/(75-ti)),y:t.y+((t.S.gridy-t.y)/(75-ti))}).draw()}else if(t.S.attacktype%8==0||t.S.attacktype%8==6){if(ti<21)t.setVar({y:t.S.gridy+80*G.F.trajectory('cochleoidx',(40-ti)/8-1.5),x:t.S.gridx+60*G.F.trajectory('cochleoidy',(40-ti)/8-1.5)}).draw();else if(ti<50)t.setVar({x:t.x+((t.S.gridx-100-t.x)/(50-ti)),y:t.y+((430-t.y)/(50-ti))}).draw();else if(ti==50)t.setVar({y:-40}).draw();else if(ti<75)t.setVar({x:t.x+((t.S.gridx-t.x)/(75-ti)),y:t.y+((t.S.gridy-t.y)/(75-ti))}).draw()}if(ti>75&&t.x==t.S.gridx&&t.y==t.S.gridy){t.S.action='loaded'}}for(i=0;i<G.S.bullets;i++){b=G.O['bullet'+i];if(t.checkIntersection(b)){b.setVar({x:-15000,y:-15000}).setState({firing:0}).draw();if(t.S.action=='attack')G.F.addScore(t.S.score*4);else G.F.addScore(t.S.score);Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+6,y:t.y+8}).setState({type:2,eColor:t.S.eColor}).AI('reset').turnOn();t.turnOff();G.S.alienCount--;if(t.S.loading){G.S['load'+t.S.loadSet]--;t.S.action='loaded'}break}}if(ship.on&&!G.S.die&&t.y+t.h>358&&t.y<408&&t.x+t.w>ship.x-10&&t.x<ship.x+ship.w+10){if(G.S.shield>0){G.S.shield--;if(!G.S.shield){G.O.shipShield.turnOff()}else{G.O.shipShield.setVar({x:ship.x-10}).setStyle({borderColor:'#'+G.S.shieldColors[Math.floor(G.S.shield/3)]}).turnOn()}G.F.addScore(t.S.score);Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+6,y:t.y+8}).setState({type:1,eColor:t.S.eColor}).AI('reset').turnOn();t.turnOff();G.S.alienCount--}else if(t.y+t.h>378&&t.y<398&&t.x+t.w>ship.x&&t.x<ship.x+ship.w){G.F.addScore(t.S.score);Exp=G.F.getNextExplosionSprite();Exp.setVar({x:t.x+6,y:t.y+8}).setState({type:1,eColor:t.S.eColor}).AI('reset').turnOn();t.turnOff();G.S.alienCount--;G.S.die=1}}return t};G.F.trajectory=function(type,t){switch(type){case'eightsx':return Math.sin(t)*Math.cos(t)/(1+Math.sin(t)*Math.sin(t));break;case'eightsy':return Math.cos(t)/(1+Math.sin(t)*Math.sin(t));break;case'cochleoidx':return Math.sin(t)*Math.cos(t)/t;break;case'cochleoidy':return Math.sin(t)*Math.sin(t)/t;break;case'hyperx':return Math.cos(t)/t;break;case'hypery':return Math.sin(t)/t;break;default:break}};G.F.addScore=function(amount){if(Math.floor(G.S.score/50000)<Math.floor((G.S.score+amount)/50000)){G.S.ships++;G.S.ships=Math.min(G.S.ships,4);G.O['ship'+(G.S.ships-1)].turnOn()}G.S.score=(G.S.score+amount)%10000000;if(G.S.score>G.S.hiScore){G.cookies.hiScore=G.S.hiScore=G.S.score;G.saveCookies()}return G};G.F.scoreAI=function(){var t=this,tmp,i;if(t.id=='hiScore')tmp=G.S.hiScore-t.S.score;else tmp=G.S.score-t.S.score;if(!tmp)return t;if(tmp>10000)t.S.score+=10000;else if(tmp>1000)t.S.score+=1000;else if(tmp>100)t.S.score+=100;else if(tmp>10)t.S.score+=10;else if(tmp>=1)t.S.score+=1;tmp=''+t.S.score;for(i=tmp.length;i<7;i++)tmp='0'+tmp;t.setSrc(tmp).draw();return t};G.F.getNextExplosionSprite=function(){G.S.currentExplosion++;return G.O['exp'+G.S.currentExplosion%10]};G.F.loaderAI=function(){if(!this.init){G.M.deselectGob=G.makeGob('game',G,'div',document.getElementById('shell')).setVar({w:340,h:445,nextStyle:{position:'relative'}}).turnOn();G.KB.addKeys('LEFT','J','D','RIGHT','K','F','SPACE');G.keys={};G.keys.left=function(state){if(G.KB.LEFT[state]||G.KB.J[state]||G.KB.D[state])return 1;else return 0};G.keys.right=function(state){if(G.KB.RIGHT[state]||G.KB.K[state]||G.KB.F[state])return 1;else return 0};G.keys.fire=function(state){if(G.KB.SPACE[state])return 1;else return 0};G.setState({level:0,ships:2,score:0,hiScore:0,currentExplosion:0,attackLevel:1,attackTimer:70,attackSet:[],nextAttack:0,firingAlien:0,powTimer:1,powStart:0,shield:0,bullets:2,shieldColors:['63f','9df'],alienCount:0,alienAction:0,alienSet:0,loadTimer:0,load0:10,load1:10,load2:10,load3:10,currentExplosion:0,starColors:['#444','#bbb','#fff']});G.loadCookies();if(G.cookies.hiScore)G.S.hiScore=parseInt(G.cookies.hiScore);this.init=1}else if(this.init<2){var i,X=G.O.game;this.init=2;this.AI=G.F.mainAI;G.makeGob('sb1',X).setVar({x:0,y:0,z:6000,w:340,h:35});G.makeGob('sb2',X).setVar({x:0,y:409,z:6000,w:340,h:36});G.makeGob('score',X).setVar({x:7,y:6,z:6020,w:135,h:32,AI:G.F.scoreAI,nextSrc:'0000000'}).setState({score:0}).turnOn();G.makeGob('hiScore',X).setVar({x:198,y:6,z:6020,w:135,h:32,AI:G.F.scoreAI,nextSrc:'0000000'}).setState({score:0}).turnOn();G.makeGob('ell',X).setVar({x:120,y:6,z:6020,w:100,h:32,nextSrc:'<span>L</span>1'}).turnOn();G.makeGob('help',X).setVar({x:270,y:410,z:6020,w:60,h:32,AI:G.F.helpAI,addClass:'buttonUp',nextSrc:'help'}).turnOn();G.makeGob('startGame',X).setVar({x:50,y:140,z:5020,w:240,h:90,AI:G.F.startGameAI,addClass:'startButtonUp',nextSrc:'Galaxoid'}).turnOn();G.makeGob('ready',X).setVar({x:60,y:135,z:4020,w:220,h:90,nextSrc:'Get Ready!'});G.makeGob('tryAgain',X).setVar({x:70,y:135,z:4020,w:200,h:90,nextSrc:'Try Again!'});G.makeGob('controls',X).setVar({x:50,y:130,z:4020,w:240,h:120,nextSrc:'<ul><li> <span><strong>ARROWS</strong></span><em>Aim</em>:<li><span><strong>SPACEBAR</strong></span><em>Fire</em>:</ul>'});for(i=0;i<4;i++)G.makeGob('ship'+i,X,'IMG').setVar({x:3+(i-1)*34,y:412,z:6020,w:28,h:30,nextSrc:'/wp-content/games/galaxoid/ship.gif',addClass:'ship'}).turnOn();G.O.ship3.turnOff();G.O.ship0.setVar({AI:G.F.shipAI,x:156,y:368,z:1020}).setState({eColor:'#ff8'}).turnOff();G.makeGob('shipShield',X).setVar({x:G.O.ship0.x-10,y:G.O.ship0.y-10,w:44,h:46,nextStyle:{border:'2px solid #000'}});G.makeGob('shipCannon',X).setVar({x:G.O.ship0.x+10,y:G.O.ship0.y-4,z:1050,w:4,h:36});G.makeGob('pow',X).setVar({x:-40,y:43,z:1000,w:40,h:26,AI:G.F.powerUpAI,tw:36,th:20,nextSrc:'POW'});G.O.pow.setState({left:1,powType:1,eColor:'#ff8',score:5000}).turnOn();for(i=0;i<50;i++){G.makeGob('star'+i,X).setState({i:i%4}).setVar({x:10+Math.random()*320,y:Math.random()*445,w:Math.floor((i%3)/2)+1,h:Math.floor((i%3)/2)+1,AI:G.F.starAI}).setStyle({backgroundColor:'#fff'}).turnOn()}for(i=0;i<9;i++){G.makeGob('bullet'+i,X).setState({i:i}).setVar({x:-15000,y:-15000,z:1000,w:4,h:7,AI:(i<4)?G.F.bulletAI:G.F.alienBulletAI,ty:-8,addClass:(i<4)?'bullet':'bullet2'}).turnOn()}for(i=0;i<28;i++){G.makeGob('alien'+i,X,'IMG').setState({action:'loading',loadSet:(i<16)?i%2+2:i%2,loadSeq:Math.floor(i/2)*4}).setVar({x:-40,y:-40,z:1000,w:26,h:22,AI:G.F.alienAI,x:-1,ty:-1,th:72,tw:28,cw:28,ch:24,nextSrc:'/wp-content/games/galaxoid/aliens.gif'});if(i<4){G.O['alien'+i].setState({score:1000,eColor:'#3f3',gridx:89+i*47,gridy:68}).setVar({tx:-4,cy:0})}else if(i<16){G.O['alien'+i].setState({score:100,eColor:'#f33',gridx:42+(i-4)%6*47,gridy:98+Math.floor((i-4)/6)*30}).setVar({tx:-4,cy:1})}else{G.O['alien'+i].setState({score:50,eColor:'#0ff',gridx:42+(i-16)%6*47,gridy:158+Math.floor((i-16)/6)*30}).setVar({tx:-4,cy:2})}G.O['alien'+i].turnOn()}for(i=0;i<28;i++)G.S.attackSet[i]=G.O['alien'+i];G.S.attackSet.sort(function(){return 0.5-Math.random()});for(i=0;i<10;i++)G.makeGob('exp'+i,X).setState({type:1}).setVar({x:-1000,z:2000,AI:G.F.explosionAI}).turnOn();G.makeGob('helpText',X).setVar({y:35,z:6020,w:340,h:374,nextSrc:'<div>'+'<ul>'+'<li><span><strong>ARROWS</strong>, <strong>D</strong>-<strong>F</strong> or <strong>J</strong>-<strong>K</strong> </span><em>Aim</em>:'+'<li><span><strong>SPACEBAR</strong></span><em>Fire</em>:'+'</ul>'+'<h1>Tips</h1>'+'<ol>'+'<li>shoot <strong>POW</strong> for power up'+'<li>extra life every <strong>50K</strong> points'+'<li>help menu <strong>pauses</strong> the game'+'</ol>'+'<div>&copy; 2007 - '+new Date().getFullYear()+' <a href="mailto:trevorcowley@gogomakeplay.com">trevor cowley</a></div>'+'</div>'})}};G.makeBlock('main',function(){if(!this.init)this.AI=G.F.loaderAI}).loadBlock('main');

