// JavaScript Document
	function isEmpty(fieldID) {
		var regexpWhitespace = /^\s+$/;
		var oField = document.getElementById(fieldID);
		if  ((oField == null) || (oField.length == 0) || (oField.value == "") || regexpWhitespace.test(oField)) {
			return true;
		}
		else return false;
	}

   function isEmail(fieldID) {
		var regexpEmail=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
		var oField = document.getElementById(fieldID);
		//var divVerif = document.getElementById("verif-" + fieldID);
		var verif = false;   

		if  (!isEmpty(fieldID)) {
			if (!regexpEmail.test(oField.value)) {
				verif = false;
			}
			else {
				verif = true;
			}    
			updateState(oField,verif);        
			//updateVerif(divVerif,verif);
		}      
		else updateState(oField,'none');
		return verif;
   }

	function isEqual(fieldID1, fieldID2) {
		var oField1 = document.getElementById(fieldID1);
		var oField2 = document.getElementById(fieldID2);
		//var divVerif = document.getElementById("verif-" + fieldID2);
		var verif = false;  
		if  (!isEmpty(fieldID1)) {
			if(!isEmpty(fieldID2)) {
				if ((oField1.value)!=(oField2.value)) {
					verif = false
				}
				else {
					verif = true;
				}                  
				updateState(oField2,verif);                
				//updateVerif(divVerif,verif);  
			} else updateState(oField2,'none'); 
		} else updateState(oField1,'none');   		      
		return verif;
	}
    
	//Retourne true si le contenu du champ d'id fieldID a une longueur supérieure à n
	function isSupTo(fieldID,n) {
		var oField = document.getElementById(fieldID);
		//var divVerif = document.getElementById("verif-" + fieldID);
		var verif = false;
		if  (!isEmpty(fieldID)) {
			if(oField.value.length >= n) verif = true;
			else verif = false          
			updateState(oField,verif);                
			//updateVerif(divVerif,verif);
		}       
		else updateState(oField,'none');
		return verif;
	}
	            
	function isCP(fieldID){
		var oField = document.getElementById(fieldID);
		//var divVerif = document.getElementById("verif-" + fieldID);
		var verif = false;
		if  (!isEmpty(fieldID)) {
			if(oField.value.length == 5) {
			   	if(oField.value >= 00001 && oField.value <= 99999) verif = true;
				else verif = false;
			}
			else verif = false 
			updateState(oField,verif);                
			//updateVerif(divVerif,verif);
		}	    
		else updateState(oField,'none');
		return verif;
	}        
	
	function isChecked(fieldID) {     
		var oField = document.getElementById(fieldID);   
		return (oField.checked == true);
	}
	  
	//Vérifie si un formulaire est valide, le valide ou pas et affiche les erreurs du formulaires
	function isFormValid(oForm) {   
		var oForm = document.getElementById(oForm);    
		var err = "";
		
		if(isEmpty('sujet')) err += "<li>Veuillez sélectionner un sujet</li>"; 
		if(isEmpty('titre')) err += "<li>Veuillez sélectionner un titre</li>";
		if(isSupTo('prenom',3) == false) err += "<li>Votre prénom doit comporter au moins 3 caractères</li>";
		if(isSupTo('nom',3) == false) err += "<li>Votre nom doit comporter au moins 3 caractères</li>";
		if(!isEmpty(document.getElementById('societe')))
			if(isSupTo('societe',3) == false) err += "<li>Votre société doit comporter au moins 3 caractères</li>";
		if(isEmail('email') == false) err += "<li>Veuillez renseigner un email valide</li>";  
		
        if(!isEmpty(document.getElementById('adresse')))
			if(isSupTo('adresse',8) == false) err += "<li>Votre adresse doit comporter au moins 8 caractères</li>";             
		if(!isEmpty(document.getElementById('cp')))
			if(isCP('cp') == false) err += "<li>Veuillez entrer un code postal composé de 5 chiffres</li>";
		if(!isEmpty(document.getElementById('ville')))
			if(isSupTo('ville',3) == false) err += "<li>Votre ville doit comporter au moins 8 caractères</li>";
		if(isEmpty('pays')) err += "<li>Veuillez sélectionner un pays</li>"; 
		if(isSupTo('message',10) == false) err += "<li>Votre message doit comporter au moins 10 caractères</li>";
		submitOrNot(oForm,err);
	}
	                    
	//Met à jour les div de verif
	function updateVerif(oDiv, state) {   
		oDiv.className = oDiv.className.replace(oDiv.className,"field-verif-" + state); 
	}       
	
	//Met à jour la classe du champ passé en paramètre
	function updateState(oField, state) {                          
		if(state == true || state == false)
			oField.className = oField.className.replace(oField.className,state + "-field");
		else
			oField.className = oField.className.replace(oField.className,"");
	}

	function submitOrNot(oForm,err){
		if(err != "") {     
			setPlaceHolderVisible(err);
			return false;
		}
		else oForm.submit();
	}

	function setPlaceHolderVisible(err) {
		var placeHolder = document.getElementById('alertMessagePlaceHolder');
		placeHolder.innerHTML = '<span class="titre">Erreur(s):</span><ul>'+err+'</ul>';
		placeHolder.style.display = 'block';
	}

	function setPlaceHolderInvisible(err) {
		var placeHolder = document.getElementById('alertMessagePlaceHolder');
		placeHolder.style.display = 'none';
	}

	function VerifFormulaireInscriptionArtiste(oForm,oFormPlaceHolder) {
		var err = "";
		err += isEmpty(oForm.nomArtiste,"Nom");
		err += isEmpty(oForm.prenomArtiste,"Prénom");
		submitOrNot(oForm,oFormPlaceHolder,err);
	}

	function VerifFormulaireInscriptionGroupe(oForm,oFormPlaceHolder) {
		var err = "";
		err += isEmail(oForm.emailGroupe);
		err += isEmpty(oForm.nomGroupe,"Nom");
		submitOrNot(oForm,oFormPlaceHolder,err);
	}

	function VerifFormulaireIdentification(oForm,oFormPlaceHolder) {
		var err = "";
		err += isEmail(oForm.email);
		err += isEmpty(oForm.mdp,"Mot de passe");
		submitOrNot(oForm,oFormPlaceHolder,err);
	}

	function updateFieldHint(oDiv) {
        var champsAide = document.getElementById(oDiv + "-H");
        if(champsAide.className == "field-hint-inactive")
			champsAide.className = champsAide.className.replace("field-hint-inactive","field-hint");
		else
			champsAide.className = champsAide.className.replace("field-hint","field-hint-inactive");
	}

	function verifOptionsSelect(idForm, unique){
		oForm.submit();
		return true;
		var oForm = document.getElementById(idForm); 

		if(unique == 0){ 
			var selectOption1 = document.getElementById('select_options1');
			var selectOption2 = document.getElementById('select_options2');
			var selectOption3 = document.getElementById('select_options3');
			var selectQte = document.getElementById('qte');

			var selectedOptions = new Array();

			if ( (selectOption1 != null && selectOption1.selectedIndex == 0) || (selectOption2 != null && selectOption2.selectedIndex == 0) || (selectOption3 != null && selectOption3.selectedIndex == 0)){
			    alert("Veuillez choisir des options pour ce produit.");
			}
			else{
			    oForm.submit();
			} 
		}

		if(selectedOptions.length > 0) {
			
		}
	}
