function calculerKMParcourus(){
	//alert("toto");
	if(document.getElementById("kilometres_parcourus")){
		document.getElementById("kilometres_parcourus").value=document.getElementById("kilometrage").value-document.getElementById("dernier_passage").value;
	}
}

function calculateAll(){
	//alert("calculate all");

	if(document.getElementById("litresRestant") && document.getElementById("pourcentageEthanolAvant") && document.getElementById("litresRestant") && document.getElementById("pourcentage_ethanol") && document.getElementById("e85") && document.getElementById("sp95") && document.getElementById("sp98")/* && document.getElementById("gpl")*/){
		var e85 = new Number(document.getElementById("e85").value.replace(",","."));
		var sp95 = new Number(document.getElementById("sp95").value.replace(",","."));
		var sp98 = new Number(document.getElementById("sp98").value.replace(",","."));
	//	var gpl = new Number(document.getElementById("gpl").value);
		var pourcentage = new Number();

		if (document.getElementById("pourcentageEthanolAvant").readOnly==true){
			document.getElementById("pourcentageEthanolAvant").value=document.getElementById("pourcentageEthanolAvantHidden").value;
		}

		var ancienPourcentage = new Number(document.getElementById("pourcentageEthanolAvant").value);
		var nblitresTotal = new Number();
		var nblitresRestants = new Number();
		var capacite = new Number(document.getElementById("capacite").value);

		nblitresTotal = e85 + sp95 + sp98 /*+ gpl*/; 

		if (document.getElementById("litresRestant").readOnly==true){
			nblitresRestants = capacite - nblitresTotal;
			document.getElementById("litresRestant").value = nblitresRestants;
		}else{
			nblitresRestants = new Number(document.getElementById("litresRestant").value);
			capacite = nblitresRestants + nblitresTotal;
		}

		pourcentage = e85 * 0.85;
		pourcentage += ancienPourcentage/100 * nblitresRestants;
		pourcentage = pourcentage/capacite*100;
		pourcentage=pourcentage.toFixed(1);
		document.getElementById("pourcentage_ethanol").value = pourcentage;
	}
	
}

// Plus utilisé
function disableLitresRestant(){
	// Si le mode précédent est différent de cool
	if (document.getElementById("plein_manque")){
		//Si l'utilisateur a fait le plein
		if(document.getElementById("fait_le_plein").checked){
			//S'il a manqué un plein	
			if(document.getElementById("plein_manque").checked==true){
				document.getElementById("mode_pap").value="eligible";
			}else{
				document.getElementById("mode_pap").value="rigoureux";
			}
			document.getElementById("litresRestant").readOnly=true;
			document.getElementById("blockPourcentage").style.display="block";
			document.getElementById("blockLitres").style.display="block";
		// S'il n'a pas fait le plein
		}else{
			//S'il a manqué un plein
			if(document.getElementById("plein_manque").checked==true){
				document.getElementById("mode_pap").value="cool";
			}else{
				document.getElementById("mode_pap").value="cool";	
			}
			document.getElementById("litresRestant").readOnly=false;
			document.getElementById("blockPourcentage").style.display="none";
			document.getElementById("blockLitres").style.display="none";
		}
	}//le mode précédent est cool, pas de plein manqué ou non
	else{
		//Si l'utilisateur a fait le plein
		if (document.getElementById("fait_le_plein").checked){
			document.getElementById("mode_pap").value="eligible";
			document.getElementById("litresRestant").readOnly=true;
			document.getElementById("blockPourcentage").style.display="block";
			document.getElementById("blockLitres").style.display="block";
		}else{
			document.getElementById("mode_pap").value="cool";
			document.getElementById("litresRestant").readOnly=false;
			document.getElementById("blockPourcentage").style.display="none";
			document.getElementById("blockLitres").style.display="block";
		}
		
	}
	calculateAll();
	//alert(document.getElementById("mode_pap").value);
}

function pleinManque(){
	
	// Si le mode précédent est différent de cool
	if (document.getElementById("plein_manque")){	
		//Si l'utilisateur a fait le plein
		if(document.getElementById("fait_le_plein").checked){
			// S'il a manqué un plein	
			if(document.getElementById("plein_manque").checked==true){
				document.getElementById("mode_pap").value="eligible";
				document.getElementById("pourcentageEthanolAvant").readOnly=false;
				document.getElementById("litresRestant").readOnly=true;
				document.getElementById("blockPourcentage").style.display="block";
				document.getElementById("blockLitres").style.display="block";
			}else{
				document.getElementById("mode_pap").value="rigoureux";
				document.getElementById("pourcentageEthanolAvant").readOnly=true;
				document.getElementById("pourcentageEthanolAvant").value=document.getElementById("pourcentageEthanolAvantHidden").value;
				document.getElementById("litresRestant").readOnly=true;
				document.getElementById("blockPourcentage").style.display="none";
				document.getElementById("blockLitres").style.display="none";
			}		
		// S'il n'a pas fait le plein
		}else{
			//S'il a manqué un plein
			if(document.getElementById("plein_manque").checked==true){	
				document.getElementById("mode_pap").value="cool";
				document.getElementById("pourcentageEthanolAvant").readOnly=false;
				document.getElementById("litresRestant").readOnly=false;
				document.getElementById("blockPourcentage").style.display="block";
				document.getElementById("blockLitres").style.display="block";
		
			}else{
				document.getElementById("mode_pap").value="cool";
				document.getElementById("pourcentageEthanolAvant").readOnly=true;
				document.getElementById("pourcentageEthanolAvant").value=document.getElementById("pourcentageEthanolAvantHidden").value;
				document.getElementById("litresRestant").readOnly=false;
				document.getElementById("blockPourcentage").style.display="block";
				document.getElementById("blockLitres").style.display="block";
			}	
		}
	}//le mode précédent est cool, pas de plein manqué ou non
	else{
		//Si l'utilisateur a fait le plein
		if (document.getElementById("fait_le_plein").checked){
			document.getElementById("mode_pap").value="eligible";
			document.getElementById("litresRestant").readOnly=true;
		}else{
			document.getElementById("mode_pap").value="cool";
			document.getElementById("litresRestant").readOnly=false;
		}
		
	}
	calculateAll();
	//alert(document.getElementById("mode_pap").value);


}

function pleinPasManque(){
	//alert(document.getElementById("fait_le_plein").value);
	if (document.getElementById("mode_pap")){
		document.getElementById("mode_pap").value="eligible";
	//	alert(document.getElementById("mode_pap").value);
		if (document.getElementById("blockSupp")){
			document.getElementById("blockSupp").style.display="none";
		}
	}
}


//##################
//GetFormIputs #
//##################
//radio
function getRadioVal(rb)
{var L=rb.length;var ret="";
for (var i = 0 ; i< L ; i++)
{if(rb[i].checked) {ret=rb[i].value;break;}}
return(ret);
}

//text, password, hidden, textarea, file
function getTextVal(tf)
{var ret=tf.value;
return(ret);
}

//checkbox
function getCheckboxVal(cb)
{var L=cb.length;var ret='';
for (i = 0; i < L; i++)
{if (cb[i].checked==true) {ret += cb[i].value + '\n';}}
return(ret);
}

//select
function getSelectVal(sel)
{var ret='';
ret=sel.options[sel.selectedIndex].text;
return(ret);
} 

//#############
//Control #
//#############
function IsDate(JJ, MM, AAAA)
{if(JJ<1||JJ>31||MM<1||MM>12) return false;
if(MM==2)
{if(JJ==30||JJ==31) return false;
if(JJ==29) return ((AAAA%4==0&&AAAA%100!=0)||AAAA%400==0);
}
else if(JJ==31) return !(MM==4||MM==6||MM==9||MM==11);
return true;
} 

function IsNumberString(NumStr)
{var regEx=/^[0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}

function IsAlphaNumString(NumStr)
{var regEx=/^[A-Za-z0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}

function IsAlphaString(NumStr)
{var regEx=/^[A-Za-z]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
} 

function ControleEventForm(formulaire){
	//alert(document.event.elements.length);
	//alert("tata");
	form = document.forms[formulaire];
	elt = form.elements;
	var nbElt = new Number(elt.length);
	
	if (form.name=="event"){
		//evenement passage à la pompe
		if (document.getElementById("type_evenement").value=="3"){
			for(var i=0; i<nbElt; i++){
				if (elt[i].name!="mode_pap_evt_id" && elt[i].name!="pourcentageEthanolAvantHidden" && elt[i].name!="24" && elt[i].name!="25" && elt[i].name!="26" && elt[i].name!="27" && elt[i].name!="28" && elt[i].name!="29")
				{
					//alert (elt[i].name + " : " + elt[i].value);
					if (elt[i].value=="")
					{
						alert("Veuillez remplir tous les champs");
						return false;
					}
				}
			}
			return true;
		}
	}

	if (form.name=="event"){
		return true;
	}
	
	return false;
}


function ControleProfilForm(formulaire){
	//alert(document.event.elements.length);
//	alert("toto");
	form = document.forms[formulaire];
	elt = form.elements;
	var nbElt = new Number(elt.length);
	
	if (form.name=="profil"){
		//evenement passage à la pompe
	
	/*	for(var i=0; i<nbElt; i++){
			
			//alert (elt[i].name + " : " + elt[i].value);
			if (elt[i].value=="")
			{
				alert("Veuillez remplir tous les champs");
				return false;
			}
			
		}*/

		if (!form.unite[0].checked && !form.unite[1].checked){
			alert("Veuillez choisir l'unité");
			return false;
		}
		
		if (!form.monnaie[0].checked && !form.monnaie[1].checked){
			alert("Veuillez choisir la monnaie");
			return false;
		}

		if (!form.conduite[0].checked && !form.conduite[1].checked && !form.conduite[2].checked){
			alert("Veuillez choisir la conduite");
			return false;
		}

		if (form.kilometrage.value==""){
			alert("Veuillez remplir	le kilométrage");
			return false;
		}

		if (form.annee.value==""){
			alert("Veuillez remplir	l'annee");
			return false;
		}

		if (form.cons_moy_sp_ville.value==""){
			alert("Veuillez remplir	la consomation moyenne en ville");
			return false;
		}

		if (form.cons_moy_sp_autoroute.value==""){
			alert("Veuillez remplir	la consomation moyenne sur autoroute");
			return false;
		}

		if (form.cons_moy_sp_mixte.value==""){
			alert("Veuillez remplir	la consomation moyenne mixte");
			return false;
		}

		if (form.modele.value==""){
			alert("Veuillez remplir	le modèle");
			return false;
		}

		if (form.capacite.value==""){
			alert("Veuillez remplir	la capacité du réservoir");
			return false;
		}
		
		if (!form.injection[0].checked && !form.injection[1].checked && !form.injection[2].checked && !form.injection[3].checked && !form.injection[4].checked){
			alert("Veuillez choisir le type de moteur");
			return false;
		}

		if (!form.essence_plomb.checked && !form.sans_plomb.checked && !form.GPL.checked && !form.ethanol.checked){
			alert("Veuillez choisir le carburant d'origine");
			return false;
		}

		if (form.cylindre.value=="0"){
			alert("Veuillez choisir le nombre de cylindres");
			return false;
		}

		if (!form.kit_E85.checked && !form.augmentation.checked && !form.regulateur_pression.checked && !form.autre.checked){
			alert("Veuillez choisir un type de modification");
				return false;
		}

		if (form.kit_E85.checked){
		
			if (form.marque_kit.value=="0"){
				alert("Veuillez choisir une marque de kit");
				return false;
			}

			if (form.modele_kit.value=="0"){
				alert("Veuillez choisir un modèle de kit");
				return false;
			}
		}

		if (form.augmentation.checked && (form.diametre.value=="" || form.diametre.value=="de ..mm à ..mm")){
			alert("Veuillez préciser l'augmentation du diamètre, ex : de ...mm à ...mm");
			return false;
		}

		if (form.regulateur_pression.checked && form.regulateur_pression_input.value==""){
			alert("Veuillez préciser votre changement de régulateur de pression");
			return false;
		}

		if (form.autre.checked && form.autre_input.value==""){
			alert("Veuillez préciser votre autre type de modifications");
			return false;
		}
		
	}
	//alert ("Formulaire validé");
	return true;
}
