
var genderList = new Array();
var articleList = new Array();

function load(){
	articlebegin = 0
	wordbegin = nouns.indexOf(" ");
	while(wordbegin != -1){
		// get article
		article = nouns.slice(articlebegin, wordbegin);
		articleList.push(article);
		articlebegin = nouns.indexOf(" ", wordbegin + 1);
		word = nouns.slice(wordbegin + 1, articlebegin);
		genderList.push(word);
	//	alert("'" + word + "'");
		wordbegin = nouns.indexOf(" ", articlebegin + 1);
		articlebegin++;
	}
	randomize()
	
	
}

var genders;
var articles;
function randomize(){
	genders = new Array();
	articles = new Array();
	articleListCopy = articleList.slice(0, articleList.length);
	genderListCopy = genderList.slice(0, genderList.length);
	var words = "<table>";
	var arrayIndex = 0;
	//alert(genderListCopy.length);
	while (genderListCopy.length != 0){
		indexToUse = Math.floor(Math.random() * genderListCopy.length);
		genderWord = genderListCopy[indexToUse];
		article = articleListCopy[indexToUse];
		genders.push(genderWord)
		articles.push(article)	
		tempArray = genderListCopy.slice(0, indexToUse);
		tempArray2 = genderListCopy.slice(indexToUse + 1, genderListCopy.length);
		genderListCopy = tempArray.concat(tempArray2);
		tempArray = articleListCopy.slice(0, indexToUse);
		tempArray2 = articleListCopy.slice(indexToUse + 1, articleListCopy.length);
		articleListCopy = tempArray.concat(tempArray2);
	
	}	
	for (i = 0; i < genders.length; i++){
		article = articles[i];				
		if (article == 'un' || article == 'une'){
			words += addInDef(i, "answer");	
		}
		else if (article == 'le' || article == 'la'){
			words += addDef(i, "answer");
		}
	}
	document.getElementById("body").innerHTML = words + "</table>" 

}
function addInDef( i , resultsString){
	return "<tr><td width='40'><input  type='button' name='Enter2' onClick=\"enter(" + i + ",'un','" + resultsString + "')\" value=' un '></td><td width='40'><input type='button' name='Enter' onClick=\"enter(" + i + ",'une','" + resultsString + "')\" value=' une '></td><td width='100'>" + genders[i] + "</td><td> <span id='" + resultsString + i + "'></span></td></tr>";	
}
function addDef( i , resultsString){
	return  "<tr><td width='40'><input  type='button' name='Enter2' onClick=\"enter(" + i + ",'le','" + resultsString + "')\" value=' le '></td><td width='40'><input type='button' name='Enter' onClick=\"enter(" + i + ",'la','" + resultsString + "')\" value=' la '></td><td width='100'>" + genders[i] + "</td><td> <span id='" + resultsString + i + "'></span></td></tr>";
}
var missed = new Array();
	
function enter(value, article, resultsString){
	if (articles[value] == article){
		document.getElementById(resultsString + value).innerHTML = "<font color='#0000CC'><strong>Oui!</strong></font> " + articles[value] + " " + genders[value];
	}
	else{
		 document.getElementById(resultsString + value).innerHTML = "<font color='#FF0000'><strong>Non!</strong></font> " + articles[value] + " " + genders[value];
		 added = addToMissed(value);
		 if (added)
			generateMissed();
		}
}
function addToMissed(value){
	
	for (i = 0; i < missed.length; i++){
		 if (missed[i] == value)
		 	return false;
	}
	missed.push(value);
	return true;
}

function generateMissed(){

	str = "<table>";
	for (i = 0; i < missed.length; i++){
		value = missed[i]
		if (articles[value] == 'un' || articles[value] == 'une')
		 	 	str += addInDef(value,"missed");
		else if (articles[value] == 'le' || articles[value] == 'la')
			str += addDef(value,"missed");
	}
	str += "</table>";
	document.getElementById("missed").innerHTML = str ;
}
