var gameid=10;

var minutes=4;
var seconds=0;
var timer=120;
var maxKarts=10;
var points=0;

var board=Math.floor(Math.random()*4);

if (board==0) {
 var grid="monpptcoclbtaoarzrhttoboostsryhrbaclheatezbhcaebelsooermpayblookiilpzelmbaznpoyhrnbboaohrmoetlhtrbos";

 var wordlist=new Array("boost","zoo","animals","beach","tree","happy","school","year","boat","shark");

}

if (board==1) {
 var grid="aaseplanehneeerrericmsuueflisaeghmfgtirimtaasisnoiccrnluabmnribteecloegiogcierveesuohthgilairnehfcec";

 var wordlist=new Array("plane","harbour","castle","circus","ocean","lighthouse","giraffe","lion","movie","camera");

}

if (board==2) {
 var grid="khgmnagwsstepoecaepaekenkbmberaskksaksataakegerigorasytobtrsmrpyhkreskeeskhatarrksweckrkmeirskygsoir";

 var wordlist=new Array("monkey","horse","peace","sea","gokarts","track","sky","grass","games","website");

}

if (board==3) {
	var grid="penguinornsdneirfnblfbubtnaouenibdibboafdtewfsalaeifnlndllcnsafootballefillbrbnrwobniarctdniauoilnbn";
	var wordlist=new Array("football","penguin","island","balloon","race","friends","fun","rainbow","win","netball");
}

var gridsize=grid.length;
var gridletteractive=new Array(100);
var currentword='';
var currentwordrev='';
var activeletters=new Array();
var wordsize=0;
var i=0;
var letterdistance=0;
var prevletterdistance=0;
var validselection=false;

function timeup() {
	timerid=$clear(timerid);
	$('game').style.display='none';
	$('score').style.display='block';
	$('points').innerHTML=points;
	$('max').innerHTML=maxKarts;
	$('result-link').href='/games-result.asp?gamesid=' + gameid + "&score=" + points;
}

function countDown() {
	seconds--;
	if (seconds<=0) {
		minutes--;
	}
	if (minutes<0) {
		timeup();
	} else {
		if (seconds<=0) seconds=59;
	}
	displayseconds=seconds.toString();
	if (displayseconds.length==1) displayseconds='0' + displayseconds;
	$('timer').innerHTML='0' + minutes.toString() + ':' + displayseconds;
}

function numOrdAsc(a, b){ return (a-b); }
function numOrdDesc(a, b){ return (b-a); }

window.addEvent('domready', function() {
	
	var testThis = function() {
		
		var letterid=this.id;
		var gridid=letterid.slice(6);
		
		if (gridletteractive[gridid]==0 || gridletteractive[gridid]==2) {

			wordsize=activeletters.push(gridid);
			
			$(letterid).style.color='#ff0000';
			
			if (gridletteractive[gridid]==0) {
				gridletteractive[gridid]=1;
			} else {
				gridletteractive[gridid]=3;
			}
			
		} else {
			
			if (gridletteractive[gridid]==1 || gridletteractive[gridid]==3) {
				
				for (i=0;i<activeletters.length;i++) {
					
					if (activeletters[i]==gridid) {
						activeletters.splice(i,1);
					}
				
				}
				
				if (gridletteractive[gridid]==1) {
					$(letterid).style.color='#00516A';
					gridletteractive[gridid]=0;
				} else {
					$(letterid).style.color='gold';
					gridletteractive[gridid]=2;
				}
				
			}
			
		}
		
		currentword='';
		currentwordrev=''
		
		activeletters.sort(numOrdAsc);

		validselection=true;

		for (i=0;i<activeletters.length;i++) {
			
			currentword+=grid.charAt(activeletters[i]);

			if (i>0) {
				
				prevletterdistance=letterdistance;
				letterdistance=activeletters[i]-activeletters[i-1];
				
				if (letterdistance!=prevletterdistance) {
					validselection=false;
				}
				
			}
		}
				
		activeletters.sort(numOrdDesc);
		
		for (i=0;i<activeletters.length;i++) {
			
			currentwordrev+=grid.charAt(activeletters[i]);
			
		}

		if (validselection==true) {
				
			//compare to word list
			for (word in wordlist) {
				if (currentword==wordlist[word] || currentwordrev==wordlist[word]) {
	
					$('word' + word).style.color='gold';
					
					points++;
					
					$('canister').src="../shared/images/canister/small/" + points + ".png";
					
					for (i=0;i<activeletters.length;i++) {
						
						// set letters on grid
						gridletteractive[activeletters[i]]=2;
						
						$('letter' + activeletters[i]).style.color='gold';
						
					}
					//clear the letters
					activeletters=new Array();
					
					$('words-left').innerHTML=10-points;
					
					letterdistance=0;
					prevletterdistance=0;
					
					if (points>=10) {
						timeup();
					}
				}
			}
			
		}
	
	}

	$('start-game').addEvent('click', function(event) {

		$('intro').style.display='none';
		$('game').style.display='block';
		
		// show letter grid
		var i=0;
		
		for(i=0;i<gridsize;i++) {
		
			gridletteractive[i]=0;
			
			newElementVar = new Element('div', {
			    	        'id': 'letter' + i,
			    	        'text': grid.charAt(i),
			    	        'class': 'letter'
			});
			
			newElementVar.inject($('letters'), 'bottom');
			newElementVar.addEvent('click', testThis);
		
		}

		$('words').innerHTML='';
		
		// show word list
		for (i=0;i<wordlist.length;i++) {
			
			newElementVar = new Element('div', {
			    	        'id': 'word' + i,
			    	        'text': wordlist[i],
			    	        'class': 'word'
			});
			
			newElementVar.inject($('words'), 'bottom');

		}

		timerid = countDown.periodical(1000);
		
		return false;
		
	});
	
});
