window.onload = init();
var doc = document;
var p;
var preLoad;
var curWord;
var word;
var curPic = -1;
var count = 0;
var gcount = 0;

function init(){
    var Pic = new Array();	  //Declare the new array
    Pic[0] = 'assets/images/Hangman_1.jpg'; //Assign values to each element of
    Pic[1] = 'assets/images/Hangman_2.jpg'; //the array
    Pic[2] = 'assets/images/Hangman_3.jpg';
    Pic[3] = 'assets/images/Hangman_4.jpg';
    Pic[4] = 'assets/images/Hangman_5.jpg';
    Pic[5] = 'assets/images/Hangman_6.jpg';
    Pic[6] = 'assets/images/Hangman_7.jpg';
    Pic[7] = 'assets/images/Hangman_8.jpg';
    Pic[8] = 'assets/images/Hangman_9.jpg';
    Pic[9] = 'assets/images/Hangman_10.jpg';
    Pic[10] = 'assets/images/Hangman_11.jpg';
	
    p = Pic.length;
    preLoad = new Array();
    for(var i = 0; i < p; i++){
        preLoad[i] = new Image();
        preLoad[i].src = Pic[i];
    }

    word = new Array();
	word[0] = 'JOKER';
	word[1] = 'TYPICAL';
	word[2] = 'GOOGLE';
	
    curWord = Math.floor(Math.random() * word.length)+1;
	StartOver;
}

function CheckGuess(){
    var curGuess = doc.Game.TGuess.value;
    
    if(count < 10){
        if (curGuess != '' && curGuess != ' '){
            var curPos = word[curWord].indexOf(curGuess.toUpperCase());
			var nomPos = doc.Game.TWord.value.indexOf(curGuess);
            if (curPos >= 0){
                
                //doc.Game.TMessage.value = doc.Game.TWord.value + ' ' + curGuess + ' ' + gcount + ' ';
				
                if(nomPos >= 0){
				
				do{
                    gcount = gcount-1;
					nomPos = doc.Game.TWord.value.indexOf(curGuess, (nomPos+1));
				}while(nomPos > 0);
                //doc.Game.TMessage.value += ' ' + gcount + ' ' + doc.Game.TWord.value.indexOf(curGuess);
                }
				
				
				do{
					gcount++;
					doc.Game.TWord.value = DeBlankMachine(curWord, curPos, curGuess, doc.Game.TWord.value);
					curPos = word[curWord].indexOf(curGuess.toUpperCase(), (curPos+1));
				} while(curPos > 0);
            }else{
                count++;
                if(doc.Game.TPrevious.value.indexOf(curGuess) >= 0){
                    count = count-1;
                }else{
                    doc.PicHang.src = preLoad[++curPic].src;
                    doc.Game.TPrevious.value += curGuess + ' ';
                }
            }
        }
    }else{
		doc.Game.TAnswer.value= word[curWord];
        doc.Game.TMessage.value = 'You Died, Press Start';
    }

    if(gcount == word[curWord].length){
        doc.Game.TAnswer.value= word[curWord];
        doc.Game.TMessage.value = 'You Win, Press Start';
        curPic = 11;
    }
    doc.Game.TGuess.value = '';
    
}

function StartOver(){
    curPic = 0;
    count = 0;
    gcount=0;
    doc.PicHang.src = preLoad[0].src;
    doc.Game.TGuess.value = '';
    doc.Game.TAnswer.value = '';
    doc.Game.TMessage.value = '';
    doc.Game.TPrevious.value = '';
    curWord = Math.floor(Math.random() * word.length);
    doc.Game.TWord.value = FillNewWord(curWord);
}

function FillNewWord(curWord, wpos, letter){
    var blankSpace = '';
    for(var j = 0; j < word[curWord].length; j++){
        blankSpace += "_ ";
    }
    return blankSpace;
}

function DeBlankMachine(curWord, wpos, letter, old){
    var oldArray = ExplodeStringToArray(old);
	
    for(var i = 0; i < word[curWord].length; i++){
        if(wpos == i){
            oldArray[2*i] = letter;
        }
    }

    return ImplodeArrayToString(oldArray)
    
}


function ExplodeStringToArray(string){
	var stringLength = string.length;
	var charArray = new Array(stringLength);
	
    for(var i = 0; i < stringLength; i++){
        charArray[i] = string.charAt(i);
    }
	
	return charArray;

}

function ImplodeArrayToString(array){
	var newString = '';
	
	for(var i = 0; i < array.length; i++){
        newString += array[i];
    }
	
	return newString;
}

function ShowHelp(){
    NewWindow = window.open('help_popup.htm','newWin','width=450,height=350, scrollbars=yes');
}

