/*	script.js
**	
**	Ensemble de fonction servant Ã  verifiÃ© que tous les champs
**	d'un formulaire on bien Ã©tÃ© remplis par l'utilisateur.
*/

/*	clearInput(f)
**	Efface le champs value des inputs
**	@param f: input sur lequel le script agit
*/
function clearInput(f) {
	f.value='';
}

/*	fillInput(f)
*	Rempli le champs value des inputs avec un texte par dï¿½faut
*	@param f: input sur lequel le script agit
*/	
function fillInput(f) {
	if (f.value === '') {
		f.value='Non renseignÃ©';
    }
}

/*	verifRadio(f, i, ok, count)
**	VÃ©rifie que toute les questions "radio" on Ã©tÃ© rÃ©pondue
**	Ne s'utilise qu'avec la fonction verifForm(form)
*/
function verifRadio(f, i, ok, count) {
	for(var k = 0; k < count; k += 1) {
		if (f.elements[i + k].checked) {	
			if (ok !== false) {
				return true;
			}
		}
	}
	return false;
}

/*	verifText(f, i, ok)
**	VÃ©rifie que toute les questions "text" on Ã©tÃ© rÃ©pondue
**	Ne s'utilise qu'avec la fonction verifForm(form)
*/
function verifText(f, i, ok) {
	if (f.elements[i].value !== "" && f.elements[i].value !== null) {
			if (ok !== false)
			{
				return true;
			}
	}
	return false;
}

/*	verifTextArea(f, i, ok)
**	VÃ©rifie que toute les questions "textArea" on Ã©tÃ© rÃ©pondue
**	Ne s'utilise qu'avec la fonction verifForm(form)
*/
function verifTextArea(f, i, ok) {
	if (f.elements[i].value.length !== 0) {
			if (ok !== false) {
				return true;
			}
	}
	return false;
}

/* verifSelectOne(f, i, ok)
** VÃ©rifie que toute les questions "select-one" on Ã©tÃ© rÃ©pondue
** Ne s'utilise qu'avec la fonction verifForm(form)
*/
function verifSelectOne(f, i, ok) {

	if (f.elements[i].options[f.elements[i].selectedIndex].value != "-1") {
		if (ok !== false) {	
			return true;
		}
	}
	return false;
}

/* verifForm(f)
** Verifie que tout les champs d'un formulaire on Ã©tÃ© remplis
** @param f: formulaire sur lequel le script s'applique.
*/
function verifForm(f, errorEmpty, errorFill) {
	var ok = true;
	for(var i = 0; i < f.elements.length; i += 1) {
		var eName = f.elements[i].name;
		var count = 0;
		if (eName.substring(0,17) == "benchmarkNotation") {
			for (var k = 0; k < f.elements.length; k += 1) {
				if (eName == f.elements[k].name) {
					count += 1;
				}
			}	
			ok = verifRadio(f, i, ok, count);
		}	
		else if (eName.substring(0,3) == "var" || eName.substring(0,3) == "val") 
		{
			for (var j = 0; j < f.elements.length; j += 1) {
				if (eName == f.elements[j].name) {
					count += 1;
				}
			}
			if (f.elements[i].type == "radio") {
				ok = verifRadio(f, i, ok, count);
			}
			if (f.elements[i].type == "text") {
				ok = verifText(f, i, ok);
			}
			if (f.elements[i].type == "textarea") {
				ok = verifTextArea(f, i, ok);
			}
			if (f.elements[i].type == "select-one") {
				ok = verifSelectOne(f, i , ok);
			}
			/*if (f.elements[i].type == "select-multiple") {
				ok = false;
				alert("here3");
				for (p = 0; p < f.elements[i].options.length; p++) {
		        	if (p.elements[i].options[j].selected && p.elements[i].options[j].value != -1) {
		        		ok = true;
		        	}
	            }
			}*/
		}
		else {
			count += 1;
		}
		i+=count - 1;
	}
	go = true;
	for (var n in check) {
    	if (check[n] === false) {
    		go = false;
    	}
    }
    if (go === true) {
	
		if (ok === true)
		{
			f.submit();
			return true;
		}
		if (ok === false) {
			alert(errorEmpty);
			return false;
		}
	}
	else {
			alert(errorFill);
			return false;
	}
	return false;
}

function nonApp(f, c, qId) {

	var qIdLength = ""+qId;
	var sLength = 4 + qIdLength.length;
	var app = f.elements["app"+qId];
	if (app.checked === true) {
		for(var i = 0; i < f.elements.length; i += 1) 
		{
			var eName = f.elements[i].id;
			if (eName.substring(0,sLength) == "varT"+qId) {	
				f.elements[i].disabled = true;
			}
		}
		for(var j = 0; j < f.elements.length; j += 1) {
			var eName2 = f.elements[j].id;
			if (eName2.substring(0,sLength) == "varT"+qId) {
				j += (c - 2);
				f.elements[j].disabled = false;
				f.elements[j].checked = true;
			}
		}	
	}
	else {
		for(var k = 0; k < f.elements.length; k += 1) {
			var eName3 = f.elements[k].id;
			if (eName3.substring(0,sLength) == "varT"+qId) {
				f.elements[k].disabled = false;
			}
		}
		for(var l = 0; l < f.elements.length; l += 1) {
			var eName4 = f.elements[l].id;
			if (eName4.substring(0,sLength) == "varT"+qId) {
				l += (c - 2);
				f.elements[l].checked = false;
			}
		}
	}
}



/*
** function selectRadio
**
** @param td  Case d'un tableau
**
** Coche le bouton radio à l'interieur de la case
*/
function selectRadio(td)
{	
	var radio = td.firstChild;
	if (!radio.disabled) {
		radio.checked = true;
	}
}