// JavaScript Document

//Fonction qui verfier si l'on a bien saisir un nombre à virgule
//A UTILISER SUR UN onkeyup="VerifierNombreVirgule(this)" DANS LA BALISE HTML
function VerifierNombreVirgule(champ)
{
var chiffres = new RegExp("[0-9\.]");
var verif;
var points = 0;

for(x = 0; x < champ.value.length; x++)
	{
		verif = chiffres.test(champ.value.charAt(x));
		if(champ.value.charAt(x) == ".")
			{
				points++;
			}
		if(points > 1)
			{
				verif = false; points = 1;
			}
		if(verif == false)
			{
				champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1);
				x--;
			}
	}
}

//Fonction qui verfier si l'on a bien saisir un nombre entier
//A UTILISER SUR UN onkeyup="VerifierNombreEntier(this)" DANS LA BALISE HTML
function VerifierNombreEntier(champ)
{
var chiffres = new RegExp("[0-9]");
var verif;

for(x = 0; x < champ.value.length; x++)
	{
		verif = chiffres.test(champ.value.charAt(x));
		if(verif == false)
			{
				champ.value = champ.value.substr(0,x) + champ.value.substr(x+1,champ.value.length-x+1);
				x--;
			}
	}
}


//Fonction qui vérifie si un champs texte est bien remplit
//Faire passer en paramètre l'id de la balise HTML
//Si le champs n'est pas remplit = couleur du champ en jaune
function VerifierChamps(id)
{
	element = document.getElementById(id);
	if(element != null)
		{
			element.style.backgroundColor = "";
			if (element.value == "")
				{
					element.style.backgroundColor = "EDE652";
					return 1;
				}
			else{
					return 0;
				}
		}
	else{
			alert("Impossible de trouver l'élément : "+id);
			return 0;
		}

}

//Fonction qui vérifie si la case à cocher et cochée
//faire passer en paramètre l'id de la balise HTML
function VerifierCheckBox(id)
{
	element = document.getElementById(id);
	if(element != null)
		{
			element.style.backgroundColor = "";
			if (element.checked == false)
				{
					element.style.backgroundColor = "EDE652";
					return 1;
				}
			else{
					return 0;
				}
		}
	else{
			alert("Impossible de trouver l'élément : "+id);
			return 0;
		}
}

//Fonction qui verifie une date et son format jj/mm/aaaa
//faire passer en paramètre l'id de la balise HTML
function VerifFormatDate(id)
{
	date = document.getElementById(id);
	madate = date.value;
	date.style.backgroundColor = "";
	
	var chiffres = new RegExp("[0-9]");
	var error = 0;

	//On test s'il y a bien les slash a la bonne place
	if (madate.charAt(2) != "/" || madate.charAt(5) != "/")
		{
			error = error + 1;
		}

	//Découpe la date
	parties = madate.split("/");
	jour = parties[0];
	mois = parties[1];
	annee = parties[2];
	
	mois = parseInt(mois-1);
	var d = new Date(annee,mois,jour);

	//On test si l'on bien des chiffre
	if (!isNaN(parseInt(jour)) && !isNaN(parseInt(mois)) && !isNaN(parseInt(annee)))
		{
			if(!d.getFullYear() == annee && d.getMonth() == mois)
				error = error + 1;
		}
	else{
			error = error + 1;
		}
		
	if (error > 0)
		{
			date.style.backgroundColor = "EDE652";
			return 1;
		}
	else{
			return 0;
		}
}

//Fonction qui vérifie si la personne à sélectionner un élement dans la liste déroulante
//faire passer en paramètre l'id de la balise HTML
//La liste doit avoir en premier <option value="null">-- Sélectionner --</option>
function VerifierListe(id)
{
	element = document.getElementById(id);
	if(element != null)
		{
			element.style.backgroundColor = "";
			if (element.value == "null")
				{
					element.style.backgroundColor = "EDE652";
					return 1;
				}
			else{
					return 0;
				}
		}
	else{
			alert("Impossible de trouver l'élément : "+id);
			return 0;
		}
}

//Fonction qui change la valeur de la propriété DISPLAY d'un element
//faire passer en paramètre l'id de la balise HTML et en second la valeur du display
function DisplayElement(id,valeur)
{
	element = document.getElementById(id);
	element.style.display = valeur;
}

//Fonction qui ajouter ou enlever la propriété disabled d'un input
//Faire passer en premier paramètre l'id de la balise HTML et en second la valeur de la case a coché qui ci réfère (this.checked)
function DisabledElement(id,etat)
{
	if(etat == false)
		{
			document.getElementById(id).removeAttribute("disabled");
		}
	else{
			document.getElementById(id).setAttribute("disabled","disabled");
			if(document.getElementById(id).nodeName != "SELECT")
				document.getElementById(id).value = "";	
		}
}

//Fonction qui vérifier un bareme
//En premier paramètre le nom du début de la tranche, en deuxième le nom de balise de fin de tranche, en troisième le nom de la balise pour la valeur de la tranche, et en dernier la balise qui contien le nombre de ligne a contrôler
function VerifierTableauBareme(debut_t,fin_t,valeur_t,nbr_t)
{
	error = 0;
	nb = document.getElementById(nbr_t);
	for(i=1;i<=parseInt(nb.value);i++)
		{
			debut = document.getElementsByName(debut_t+i);
			fin = document.getElementsByName(fin_t+i);
			taux = document.getElementsByName(valeur_t+i);			
			//Si la ligne n'est pas vide, on test	
			if(debut[0].value != "" && fin[0].value != "")
				{
					//On test si le debut est inférieur à la fin
					if(parseInt(debut[0].value) > parseInt(fin[0].value))
						{
							error = error + 1;
							debut[0].style.backgroundColor = "EDE652";
							fin[0].style.backgroundColor = "EDE652";							
						}
	
					if(i < parseInt(nb.value))
						{
							suivant = document.getElementsByName(debut_t+parseInt(i+1));
							if(suivant[0].value != "")
								{
									//On test si la fin + 1 = debut de la ligne suivante
									if(parseInt(fin[0].value)+1 != parseInt(suivant[0].value))
										{
											error = error + 1;
											fin[0].style.backgroundColor = "EDE652";
											suivant[0].style.backgroundColor = "EDE652";				
										}
								}
						}
					
					//On test si le taux est bien remplit
					if(taux[0].value == "")
						{
							error = error + 1;
							taux[0].style.backgroundColor = "EDE652";
						}
				}
		}
	return error;

}