var wordlist;
var wordindex;
var indexid=0;
var score=0;
var hits=0;
var finished=0;
var firstmove=0;
//var sec=0; 
var moves=0;
var timee=0;
var times=0; 
var timer;
var timera;


function display(){ 
	if(hits<wordindex.length){
		start=true;
                if(finished==0)
                {
                    timer(); 
                    wordLister();                     
         	}

     } 
}
function init(){
	wordindex=new Array(34);
	for(var i=0;i<100;i++){var b=i+'' ;
			document.getElementById(b).innerHTML='';
			document.getElementById(b).style.backgroundColor='#ffffff';
	}
	document.getElementById("wordList").innerHTML="";
	document.getElementById("score").value=score;
}

function wordFilling(){
	var words=wordPicker();
	wordlist=words;
	for(var i=0;i<words.length;i++){
		var length=words[i][0].length;
		var word=words[i][0];
		lenth=parseInt(length);
		var limiter=10-length;
		var dir=words[i][1];
		if(dir=="0"){				//left to right
			var isFill=false;
			do{
				var limiter=10-length;
				var xStart=(Math.random()*parseInt(limiter)).toFixed(0);
				var yStart=(Math.random()*parseInt(9)).toFixed(0);
				xStart=parseInt(xStart);
				yStart=parseInt(yStart);
				var empty=true;
				for(var j=0;j<length;j++){
					if(!isEmpty(parseInt(xStart+j),parseInt(yStart))){
						empty=false;
					}
				}
				if(empty==true){
					for(var j=0;j<length;j++){
						fillCell(word.charAt(j),parseInt(xStart)+j,parseInt(yStart));
					}
					isFill=true;
				}
			}while(isFill==false);
		}
		
		if(dir=="1"){				//right to left
			var isFill=false;
			do{
				xStart=(Math.random()*parseInt(limiter)).toFixed(0);
				xStart=9-xStart;
				yStart=(Math.random()*parseInt(9)).toFixed(0);
				xStart=parseInt(xStart);
				yStart=parseInt(yStart);
				var empty=true;
				for(var j=0;j<length;j++){
					if(!isEmpty(xStart-j,yStart)){
						empty=false;
					}
				}
				if(empty==true){
					for(var j=0;j<length;j++){
						fillCell(word.charAt(j),xStart-j,yStart);
					}
					isFill=true;
				}
			}while(isFill==false);
			
		}
		if(dir=="2"){				//top to bottom
			var isFill=false;
			do{
				xStart=(Math.random()*parseInt(9)).toFixed(0);
				yStart=(Math.random()*parseInt(limiter)).toFixed(0);
				xStart=parseInt(xStart);
				yStart=parseInt(yStart);
				var empty=true;
				for(var j=0;j<length;j++){
					if(!isEmpty(xStart,yStart+j)){
						empty=false;
					}
				}
				if(empty==true){
					for(var j=0;j<length;j++){
						fillCell(word.charAt(j),xStart,yStart+j);
					}
					isFill=true;
				}
			}while(isFill==false);
		}
		if(dir=="3"){				//bottom to top
			var isFill=false;
			do{
				xStart=(Math.random()*parseInt(9)).toFixed(0);
				yStart=(Math.random()*parseInt(limiter)).toFixed(0);
				yStart=9-yStart;
				xStart=parseInt(xStart);
				yStart=parseInt(yStart);
				var empty=true;
				for(var j=0;j<length;j++){
					if(!isEmpty(xStart,yStart-j)){
						empty=false;
					}
				}
				if(empty==true){
					for(var j=0;j<length;j++){
						fillCell(word.charAt(j),xStart,yStart-j);
					}
					isFill=true;
				}
			}while(isFill==false);
		}
		if(dir=="4"){				//diagonal from left top to right bottom
			var isFill=false;
			do{
				xStart=(Math.random()*parseInt(limiter)).toFixed(0);
				yStart=(Math.random()*parseInt(limiter)).toFixed(0);
				xStart=parseInt(xStart);
				yStart=parseInt(yStart);
				var empty=true;
				for(var j=0;j<length;j++){
					if(!isEmpty(xStart+j,yStart+j)){
						empty=false;
					}
				}
				if(empty==true){
					for(var j=0;j<length;j++){
						fillCell(word.charAt(j),xStart+j,yStart+j);
					}
					isFill=true;
				}
			
			}while(isFill==false);
			
		}
	}
	
}
							
function isEmpty(x,y){
	var b=y*10+x;
	b+='';
	if(document.getElementById(b).innerHTML==""||document.getElementById(b).innerHTML==null){
		return true;
	}
	else{
		return false;
	}
}
					
function fillCell(chr,x,y){
	var b=parseInt(y)*10+parseInt(x);
	document.getElementById(b).innerHTML=chr;
	wordindex[indexid]=b;
	indexid++;
}

function fillEmptyCell(){
		var ar="abcdefghijklmnopqrstuvwxyz";
		for(var i=0;i<100;i++){var b=i+"";
			chr=(Math.random()*parseInt(25)).toFixed(0);
			if(document.getElementById(b).innerHTML==""||document.getElementById(b).innerHTML==null){
			        document.getElementById(b).innerHTML=ar.charAt(chr);
			}
		}
}
function wordLister(){
        document.getElementById("wordList").innerHTML="<b>"+"Words"+"</b><br><br>";
	for(var i=0;i<wordlist.length;i++){
		document.getElementById("wordList").innerHTML+=wordlist[i][0]+"<br>";
	}
}

function status(id){
	if(start==false){
		return false;
	}
	id+='';
	var isComplete=false;
	var res=false;
	for(var i=0;i<wordindex.length;i++){
		if(id==wordindex[i]&&document.getElementById(id).style.backgroundColor!="green"){
			document.getElementById(id).style.backgroundColor="green";
			score++;
			hits++;
			document.getElementById("score").value=score+'';
			res=true;
		}
		if(hits==wordindex.length){
			isComplete=true;
		}
	}
	if(res==false &&isComplete==false){
		score--;	
		document.getElementById("score").value=score+'';
	}
	if(isComplete==true){
           finished=1;
           moves=score;
           clearTimeout(timera);
           testAjaxa(moves,timee,"reverse");
	}
}
