// Toutes les fonctions javascriptes permettant la verification des formulmaires


/*********************************************************************************/
/*							Formulaire d'inscription							 */
/*********************************************************************************/
function checkIntrant(nbHa){
var leForm;
if ( document.traiter) leForm = document.traiter;
if (leForm){
	var tracteur = (leForm.tracteur.value == "1");
	var pulve  = (leForm.pulve.value == "1");
	var carburant  = (leForm.carburant.value == "1");
	var lubrifiant = (leForm.lubrifiant.value == "1");
	var intrant = leForm.produit.value;
	var qtIntrant = leForm.qtUtiliser.value;
	var qtDispo;
	qtDispo = ( intrant != "" ? Number(eval("leForm.qtDispo"+intrant+".value")) : 0 );
	qtIntrant = (isNaN(qtIntrant.replace(',','.')) ? 0 : Number(qtIntrant.replace(',','.'))*Number(nbHa));
		
	
	var erreur = document.getElementById('erreur');
	erreur.innerHTML = '</br>';
	if (!tracteur) erreur.innerHTML += 'Vous devez disposer d\'un tracteur.</br>';
	if (!pulve) erreur.innerHTML += 'Vous devez disposer d\'un pulverisateur.</br>';
	if (!carburant) erreur.innerHTML += 'Stock de carburant insuffisant.</br>';
	if (!lubrifiant) erreur.innerHTML += 'Stock de lubrifiant insuffisant.</br>';
	if (intrant == "") erreur.innerHTML += 'Vous devez sélectionner un produit phytosanitaire à utiliser.</br>';
	if (qtIntrant == 0) erreur.innerHTML += 'Vous devez spécifier une quantitée de produit phytosanitaire à utiliser.</br>';
	if (qtIntrant > qtDispo)  erreur.innerHTML += 'Vous ne disposez pas d\'une telle quantitée de produit phytosanitaire en stock.</br>';
	return(tracteur && pulve && carburant && lubrifiant && intrant!="" && qtIntrant != 0 && qtIntrant <= qtDispo)
}
return false;
}

function checkRecolte(){
var leForm;
if ( document.recolter) leForm = document.recolter;
if (leForm){
	var tracteur = (leForm.tracteur.value == "1");
	var moissonneuse  = (leForm.moissonneuse.value == "1");
	var benne  = (leForm.benne.value == "1");
	var barreCoupe  = (leForm.barreCoupe.value == "1");
	var carburant  = (leForm.carburant.value == "1");
	var lubrifiant = (leForm.lubrifiant.value == "1");
		
	
	var erreur = document.getElementById('erreur');
	erreur.innerHTML = '</br>';
	if (!tracteur) erreur.innerHTML += 'Vous devez disposer d\'un tracteur.</br>';
	if (!moissonneuse) erreur.innerHTML += 'Vous devez disposer d\'une moissonneuse.</br>';
	if (!benne) erreur.innerHTML += 'Vous devez disposer d\'une benne.</br>';
	if (leForm.idCulture.value == "2" && !barreCoupe) erreur.innerHTML += 'Vous devez disposer d\'une barre de coupe.</br>';
	
	if (!carburant) erreur.innerHTML += 'Stock de carburant insuffisant.</br>';
	if (!lubrifiant) erreur.innerHTML += 'Stock de lubrifiant insuffisant.</br>';
	return(tracteur && moissonneuse && benne && barreCoupe && carburant && lubrifiant )
}
return false;
}


function checkPresser(){
var leForm;
if ( document.presser) leForm = document.presser;
if (leForm){
	var tracteur = (leForm.tracteur.value == "1");
	var presse  = (leForm.presse.value == "1");
	var carburant  = (leForm.carburant.value == "1");
	var lubrifiant = (leForm.lubrifiant.value == "1");
		
	
	var erreur = document.getElementById('erreur');
	erreur.innerHTML = '</br>';
	if (!tracteur) erreur.innerHTML += 'Vous devez disposer d\'un tracteur.</br>';
	if (!presse) erreur.innerHTML += 'Vous devez disposer d\'une presse.</br>';	
	if (!carburant) erreur.innerHTML += 'Stock de carburant insuffisant.</br>';
	if (!lubrifiant) erreur.innerHTML += 'Stock de lubrifiant insuffisant.</br>';
	return(tracteur && presse && carburant && lubrifiant )
}
return false;
}

function checkEngrais(nbHa){
var leForm;
if ( document.fertiliser) leForm = document.fertiliser;
if (leForm){
	var tracteur = (leForm.tracteur.value == "1");
	var epandeur  = (leForm.epandeur.value == "1");
	var carburant  = (leForm.carburant.value == "1");
	var lubrifiant = (leForm.lubrifiant.value == "1");
	var qtIntrant = leForm.qtUtiliser.value;
	var qtDispo = Number(leForm.qtDispo.value);
	qtIntrant = (isNaN(qtIntrant.replace(',','.')) ? 0 : Number(qtIntrant.replace(',','.'))*Number(nbHa));
		
	
	var erreur = document.getElementById('erreur');
	erreur.innerHTML = '</br>';
	if (!tracteur) erreur.innerHTML += 'Vous devez disposer d\'un tracteur.</br>';
	if (!epandeur) erreur.innerHTML += 'Vous devez disposer d\'un distributeur d\'engrais.</br>';
	if (!carburant) erreur.innerHTML += 'Stock de carburant insuffisant.</br>';
	if (!lubrifiant) erreur.innerHTML += 'Stock de lubrifiant insuffisant.</br>';
	if (qtIntrant == 0) erreur.innerHTML += 'Vous devez spécifier une quantitée d\'engrais à utiliser.</br>';
	if (qtIntrant > qtDispo)  erreur.innerHTML += 'Vous ne disposez pas d\'une telle quantitée d\'engrais en stock.</br>';
	return(tracteur && epandeur && carburant && lubrifiant && qtIntrant != 0 && qtIntrant <= qtDispo)
}
return false;
}

function checkChamp(etape){
	
var leForm;
if ( document.inscription) leForm = document.inscription;
if (leForm){
	switch(etape){
		case 'civilite':{
			document.getElementById('validation_civilite').style.display = (verifCivilite(leForm.civilite) ? 'none':'block');
			break;
		}
		case 'nom':{
			document.getElementById('validation_nom').style.display = (leForm.nom.value != '' && leForm.nom.value != null ? 'none':'block');
			break;
		}
		case 'pays':{
			document.getElementById('validation_pays').style.display = (leForm.pays.selectedIndex != 0 ? 'none':'block');
			break;
		}
		case 'cp_ville':{
			document.getElementById('validation_cp_ville').style.display = (leForm.cp.value != '' && leForm.ville.value != '' ? 'none':'block');
			break;
		}
		case 'email':{
			document.getElementById('validation_email').style.display = (validationMel(leForm.email.value) ? 'none':'block');
			break;
		
		}
		case 'activite':{
			document.getElementById('validation_activite').style.display = (leForm.activite.selectedIndex != 0 ? 'none':'block');
			break;
		}
		case 'formation':{
			document.getElementById('validation_formation').style.display = (leForm.formation.selectedIndex != 0 ? 'none':'block');
			break;
		}
		case 'niveau_etude':{
			document.getElementById('validation_niveau_etude').style.display = (leForm.niveau_etude.selectedIndex != 0 ? 'none':'block');
			break;
		}
		case 'profession':{
			document.getElementById('validation_profession').style.display = (leForm.profession.selectedIndex != 0 ? 'none':'block');
			break;
		}
		case 'tel':{
			document.getElementById('validation_tel').style.display = (validationTel(leForm.tel.value) ? 'none':'block');
			break;
		}
		case 'adresse':{
			document.getElementById('validation_adresse').style.display = (leForm.adresse.value != '' ? 'none':'block');
			break;
		}
		case 'login':{
			document.getElementById('validation_login').style.display = (leForm.login.value != '' &&  loginExiste(leForm.login.value,leForm.idJoueur.value)  ? 'none':'block');
		}
		case 'mdp':{
			document.getElementById('validation_mdp').style.display = (leForm.mdp.value != '' &&  leForm.mdp.value.length>4  ? 'none':'block');
			break;
		}
		case 'confirm_mdp':{
			document.getElementById('validation_confirm_mdp').style.display = (leForm.confirm_mdp.value == leForm.mdp.value  ? 'none':'block');
			break;
		}
		case 'email_parrain':{
			document.getElementById('validation_email_parrain').style.display = (leForm.email_parrain.value == "" || verifParrain(leForm.email_parrain.value,leForm.idJoueur.value) ? 'none':'block');
			break;
		}
		
		default:{
			errMelParrain = true;
			document.getElementById('validation_civilite').style.display = (verifCivilite(leForm.civilite) ? 'none':'block');
			document.getElementById('validation_nom').style.display = (leForm.nom.value != '' && leForm.nom.value != null ? 'none':'block');
			document.getElementById('validation_pays').style.display = (leForm.pays.selectedIndex != 0 ? 'none':'block');
			document.getElementById('validation_cp_ville').style.display = (leForm.cp.value != '' && leForm.ville.value != '' ? 'none':'block');
			document.getElementById('validation_email').style.display = (validationMel(leForm.email.value) ? 'none':'block');
			document.getElementById('validation_activite').style.display = (leForm.activite.selectedIndex != 0 ? 'none':'block');
			document.getElementById('validation_profession').style.display = (leForm.profession.selectedIndex != 0 ? 'none':'block');
			document.getElementById('validation_formation').style.display = (leForm.formation.selectedIndex != 0 ? 'none':'block');
			document.getElementById('validation_niveau_etude').style.display = (leForm.niveau_etude.selectedIndex != 0 ? 'none':'block');
			document.getElementById('validation_tel').style.display = (validationTel(leForm.tel.value) ? 'none':'block');
			document.getElementById('validation_adresse').style.display = (leForm.adresse.value != '' ? 'none':'block');
			document.getElementById('validation_login').style.display = (leForm.login.value != '' &&  loginExiste(leForm.login.value,leForm.idJoueur.value)  ? 'none':'block');
			document.getElementById('validation_mdp').style.display = (leForm.mdp.value != '' &&  leForm.mdp.value.length>4  ? 'none':'block');
			document.getElementById('validation_confirm_mdp').style.display = (leForm.confirm_mdp.value == leForm.mdp.value  ? 'none':'block');
			//document.getElementById('validation_age').style.display = (verifFormatDte(leForm.age.value) ? 'none':'block');
			if (document.getElementById('validation_email_parrain') && leForm.email_parrain){
			
			
				if(leForm.email_parrain.value == "" || verifParrain(leForm.email_parrain.value,leForm.idJoueur.value)){
					document.getElementById('validation_email_parrain').style.display = 'none';											
				}
				else{
					document.getElementById('validation_email_parrain').style.display = 'block';		
					errMelParrain = false;
				}
			}
			document.getElementById('validation_reglement').style.display = (leForm.reglement.checked ? 'none':'block');
			
			var err = document.getElementById('validation_nom').style.display == 'none' && 
			document.getElementById('validation_pays').style.display == 'none' && 
			document.getElementById('validation_cp_ville').style.display == 'none' && 
			document.getElementById('validation_email').style.display == 'none' && 
			document.getElementById('validation_activite').style.display == 'none' && 
			document.getElementById('validation_profession').style.display == 'none' && 
			document.getElementById('validation_formation').style.display == 'none' && 
			document.getElementById('validation_niveau_etude').style.display == 'none' && 
			document.getElementById('validation_tel').style.display == 'none' && 
			document.getElementById('validation_civilite').style.display == 'none' && 
			document.getElementById('validation_adresse').style.display == 'none' &&
			document.getElementById('validation_login').style.display == 'none' &&
			document.getElementById('validation_mdp').style.display == 'none' &&
			document.getElementById('validation_confirm_mdp').style.display == 'none' &&
			errMelParrain &&
			document.getElementById('validation_reglement').style.display == 'none' ;
			//document.getElementById('validation_age').style.display == 'none' ;
			return(err);
		}
		
	}
}
	
}

function verifCivilite(champ){
var sel = false
var i=0;
while(i<champ.length && !sel){
	sel = champ[i].checked;
	i++;
}
return sel;
}

//appel ajax pour verifier qu'un login n'existe pas deja
function loginExiste(login,idJoueur) {
	if(login != ''){
		if( texte = file('/BusinessSchool/fonctions/asp/loginExiste.asp?login='+login+'&idJoueur='+idJoueur))
		{
			if (texte == 1) return false;
			else return true;
		}
	}
	else
		return(false);
}


function verifParrain(mel,idJoueur) {
	if(mel != ''){
		if( texte = file('/BusinessSchool/fonctions/asp/parrainExiste.asp?mel='+mel+'&idJoueur='+idJoueur))
		{
			if (texte == 1) return true;
			else return false;
		}
	}
	else
		return(false);
}

function verifFormatDte(dte){
  var exp=new RegExp("^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4}$");
  if (exp.test(dte)){
	var d = new Date();
	info =dte.split("/")
	return ( info[0] <= 31 && info[1] <= 12 && info[2]<= d.getFullYear() )
  }
  else return (false);
}

function modifLienSubmit(listId){
	if (navigator.appName.indexOf("Explorer")>0){
		var ids = listId.split("#");
		for(i=0;i<ids.length;i++){
			var elt = document.getElementById(ids[i]);
			elt.href='#';
		}
	}
}

function majAvatar(){
	var img = document.getElementById('imgAvatar');
	img.src = document.inscription.avatar.value;
}
/*********************************************************************************/
/*						Fin Formulaire d'inscription							 */
/*********************************************************************************/

/*
 * +-------------------------------------+
 * Number.prototype.formatNumber
 * +-------------------------------------+
 * Params (facultatifs):
 *	- Int decimales: nombre de decimales (exemple: 2)
 *	- String signe: le signe precedent les decimales (exemple: "," ou ".")
 *	- String separateurMilliers: comme son nom l'indique
 * Returns:
 *	- String chaine formatee
 * http://www.javascriptfr.com/codes/FORMATER-NOMBRE-FACON-NUMBER-FORMAT-PHP_40060.aspx
 */
Number.prototype.formatNumber = function (decimales, signe, separateurMilliers) {
	var _sNombre = String(this), i, _sRetour = "", _sDecimales = "";
	if (decimales == undefined) decimales = 2;
	if (signe == undefined) signe = '.';
	if (separateurMilliers == undefined) separateurMilliers = ' ';
	
	function separeMilliers (sNombre) {
		var sRetour = "";
		while (sNombre.length % 3 != 0) {
			sNombre = "0"+sNombre;
		}
		for (i = 0; i < sNombre.length; i += 3) {
			if (i ==  sNombre.length-1) separateurMilliers = '';
			sRetour += sNombre.substr(i, 3)+separateurMilliers;
		}
		while (sRetour.substr(0, 1) == "0") {
			sRetour = sRetour.substr(1);
		}
		return sRetour.substr(0, sRetour.lastIndexOf(separateurMilliers));
	}
	if (_sNombre.indexOf('.') == -1) {
		for (i = 0; i < decimales; i++) {
			_sDecimales += "0";
		}
		_sRetour = separeMilliers(_sNombre)+signe+_sDecimales;
	} else {
		var sDecimalesTmp = (_sNombre.substr(_sNombre.indexOf('.')+1));
		if (sDecimalesTmp.length > decimales) {
			var nDecimalesManquantes = sDecimalesTmp.length - decimales;
			var nDiv = 1;
			for (i = 0; i < nDecimalesManquantes; i++) {
				nDiv *= 10;
			}
			_sDecimales = Math.round(Number(sDecimalesTmp) / nDiv);
		}else {
			_sDecimales = sDecimalesTmp;
			for (i = sDecimalesTmp.length; i < decimales; i++) {
			_sDecimales += "0";
			}  
		}
		_sRetour = separeMilliers(_sNombre.substr(0, _sNombre.indexOf('.')))+String(signe)+_sDecimales; 
	}
	return _sRetour;
}


function swapBt(idImg,img){
var elt = document.getElementById(idImg)	
if (elt) elt.src = "/Images/phyto/Boutons/"+img+".jpg";
}

function checkFormQuizz(){

var leForm;
if ( document.quizz) leForm = document.quizz;
var action = leForm.action.value;
if (leForm){
	if ( action == "questionnaire" ) return true;
	else{
		var q1 = getValueRadio(leForm.q1);	
		var q2 = getValueRadio(leForm.q2);	
		var q3 = getValueRadio(leForm.q3);	
		var q4 = getValueRadio(leForm.q4);	
		var q5 = getValueRadio(leForm.q5);	
		
		document.getElementById('errQ1').innerHTML = (q1!="" ? "" : "Vous devez sélectionner une réponse.");
		document.getElementById('errQ2').innerHTML = (q2!="" ? "" : "Vous devez sélectionner une réponse.");
		document.getElementById('errQ3').innerHTML = (q3!="" ? "" : "Vous devez sélectionner une réponse.");
		document.getElementById('errQ4').innerHTML = (q4!="" ? "" : "Vous devez sélectionner une réponse.");
		document.getElementById('errQ5').innerHTML = (q5!="" ? "" : "Vous devez sélectionner une réponse.");
		
		return(q1 != "" && q2 != "" && q3 != "" && q4 != "" && q5 != "");
		//return false;
	}
	
}
return false;
}

function getValueRadio(elt){
for(i=0;i<elt.length;i++){
	if ( elt[i].checked )	return elt[i].value;
}
return "";

}

function justInt(elt){
	elt.value = elt.value.replace(",",".");
	elt.value=(isNaN(elt.value))?0:elt.value;
	elt.value = Math.floor(elt.value);
	elt.value = (elt.value<0)?elt.value*-1:elt.value;	
	
	
}
function justDbl(elt){
	elt.value = elt.value.replace(",",".");
	elt.value=(!isFinite(elt.value))?0:elt.value;
	elt.value = (elt.value<0)?elt.value*-1:elt.value;	
	
	
}
