//Utilise pour valider un produit dans l'admin
function validFormIdentification(txtNom, txtEmail, txtTelephone, txtAdresse, txtCp, txtVille)
{
	var txtErreur;
	txtErreur = "";
	
	if (!validationChampVide(txtNom))
		txtErreur = txtErreur + ". Nom \n";
	
	if (!validationEmail(txtEmail))
		txtErreur = txtErreur + ". Email \n";
	
	if (!validationChampVide(txtTelephone))
		txtErreur = txtErreur + ". Telephone \n";
		
	if (!validationChampVide(txtAdresse))
		txtErreur = txtErreur + ". Adresse \n";
		
	if (!validationChampVide(txtCp))
		txtErreur = txtErreur + ". Code Postal \n";
		
	if (!validationChampVide(txtVille))
		txtErreur = txtErreur + ". Ville \n";
	
	var cp;
	cp = txtCp.value;
	cp = cp.slice(0,2);
	if ((cp != '01') && (cp != '02') && (cp != '03') && (cp != '04') && (cp != '05') && (cp != '06') && (cp != '07') && (cp != '08') && (cp != '09') && (cp != '10') 
		&& (cp != '11') && (cp != '12') && (cp != '13') && (cp != '14') && (cp != '15') && (cp != '16') && (cp != '17') && (cp != '18') && (cp != '19') 
		&& (cp != '21') && (cp != '22') && (cp != '23') && (cp != '24') && (cp != '25') && (cp != '26') && (cp != '27') && (cp != '28') && (cp != '29') && (cp != '30') 
		&& (cp != '31') && (cp != '32') && (cp != '33') && (cp != '34') && (cp != '35') && (cp != '36') && (cp != '37') && (cp != '38') && (cp != '39') && (cp != '40') 
		&& (cp != '41') && (cp != '42') && (cp != '43') && (cp != '44') && (cp != '45') && (cp != '46') && (cp != '47') && (cp != '48') && (cp != '49') && (cp != '50') 
		&& (cp != '51') && (cp != '52') && (cp != '53') && (cp != '54') && (cp != '55') && (cp != '56') && (cp != '57') && (cp != '58') && (cp != '59') && (cp != '60') 
		&& (cp != '61') && (cp != '62') && (cp != '63') && (cp != '64') && (cp != '65') && (cp != '66') && (cp != '67') && (cp != '68') && (cp != '69') && (cp != '70') 
		&& (cp != '71') && (cp != '72') && (cp != '73') && (cp != '74') && (cp != '75') && (cp != '76') && (cp != '77') && (cp != '78') && (cp != '79') && (cp != '80') 
		&& (cp != '81') && (cp != '82') && (cp != '83') && (cp != '84') && (cp != '85') && (cp != '86') && (cp != '87') && (cp != '88') && (cp != '89') && (cp != '90') 
		&& (cp != '91') && (cp != '92') && (cp != '93') && (cp != '94') && (cp != '95')) {
		txtErreur = txtErreur + ". Code Postal \n";
	}	
	if (txtErreur != "") {
		txtErreur = "Erreur, veuillez remplir les champs obligatoires suivant : \n (commande France Metropolitaine uniquement, pour l\'etranger, DOM-TOM, Corse, nous consulter)\n" + txtErreur;
		alert(txtErreur);
		return false;
	}
return true;
}

//Utilise pour valider un produit dans l'admin
function validFormProduit(txtReference, txtNom, prix, prixCons, distanceur, lstCatId_01, lstProduitTypeId, lstUniteId)
{
	prix.value = prix.value + ' ';
	prix.value = replaceChars(prix.value, '.', ',');
	prix.value = replaceChars(prix.value, ' ', '');
	
	if (prix.value.indexOf(",") == -1)
		prix.value = prix.value + ",00";
	
	prix.value.substr(0, (prix.value.indexOf(",")+2));
	
	prixCons.value = prixCons.value + ' ';
	prixCons.value = replaceChars(prixCons.value, '.', ',');
	prixCons.value = replaceChars(prixCons.value, ' ', '');
	
	if (prixCons.value.indexOf(",") == -1)
		prixCons.value = prixCons.value + ",00";
	
	prixCons.value.substr(0, (prixCons.value.indexOf(",")+2));

	var txtErreur;
	txtErreur = "";
	
	if (!validationChampVide(txtReference))
		txtErreur = txtErreur + ". Reference \n";
	
	if (!validationChampVide(txtNom))
		txtErreur = txtErreur + ". Nom \n";
		
	if (validationChampVide(prix)) {
		if (!IsNumeric(prix.value)) {
			txtErreur = txtErreur + ". Le Prix doit être un nombre \n";
		}
	}
	
	if (!IsNumeric(distanceur.value)) {
		txtErreur = txtErreur + ". Le distanceur doit être un nombre \n";
	}
		
	if (!validationSelect(lstProduitTypeId))
		txtErreur = txtErreur + ". Type de frais de port \n";
	
	if (!validationSelect(lstUniteId))
		txtErreur = txtErreur + ". Unite \n";
		
	if (!validationSelect(lstCatId_01))
		txtErreur = txtErreur + ". Categorie \n";
		
	if (txtErreur != "") {
		txtErreur = "Erreur, veuillez remplir les champs obligatoires suivant : \n" + txtErreur;
		alert(txtErreur);
		return false;
	}
return true;
}

//Utilise par le kit
function ValidKitDetail(txtNom)
{
	var txtErreur;
	txtErreur = "";
	
	if (!validationChampVide(txtNom))
		txtErreur = txtErreur + ". Nom \n";
		
	if (txtErreur != "") {
		txtErreur = "Erreur, veuillez remplir les champs obligatoires suivant : \n" + txtErreur;
		alert(txtErreur);
		return false;
	}
return true;
}

//Valide le type des quantites = nombre
function valideQte() 
{
var theForm = document.forms[0]
var txtErreur;
txtErreur = "";

   for(i=0; i<theForm.elements.length; i++){
	if((theForm.elements[i].type == "text") && (theForm.elements[i].name.indexOf("Q") != -1 )) {
		theForm.elements[i].value = theForm.elements[i].value.replace(',', '.')
		if (isNaN(theForm.elements[i].value)) {
			txtErreur = "Erreur: La quantite d'un produit doit &ecirc;tre un nombre.";
			alert(txtErreur);
			return false;
		} else {
			var qte;
			qte = theForm.elements[i].value;
			qte = qte.replace(',', '.') //replace la virgule par un point
			qte = qte.split('.');
			qte = qte[0];
			theForm.elements[i].value = qte;
		}
	}
   }
	return true;
} 


//Utilise par les formulaires de remise
function ValidProduitKitAdd(lstProduitId, txtQte)
{
	var txtErreur;
	txtErreur = "";
	
	if (!validationSelect(lstProduitId))
		txtErreur = txtErreur + ". Produit \n";
	
	if (!validationChampVide(txtQte))
		txtErreur = txtErreur + ". Quantite \n";
		
	if (txtErreur != "") {
		txtErreur = "Erreur, veuillez remplir les champs obligatoires suivant : \n" + txtErreur;
		alert(txtErreur);
		return false;
	}
	
	if (isNaN(txtQte.value)) {
		txtErreur = "Erreur, la quantite doit &ecirc;tre un nombre. \n";
		alert(txtErreur);
		return false;
	}
return true;
}

//Utilise par les formulaires clients
function validFormClient(txtNom, txtCode, txtMdp, txtMdpConfirm, txtEmail, txtTelephone)
{
	var txtErreur;
	txtErreur = "";

	if (!validationChampVide(txtNom))
		txtErreur = txtErreur + ". Nom \n";
	
	if (!validationChampVide(txtCode))
		txtErreur = txtErreur + ". Code \n";

	if (!validationChampVide(txtMdp))
		txtErreur = txtErreur + ". Mot de passe \n";
	
	if (!validationChampVide(txtMdpConfirm))
		txtErreur = txtErreur + ". Mot de passe confiramtion \n"

	if (!validationEmail(txtEmail))
		txtErreur = txtErreur + ". Email \n";
	
	if (!validationChampVide(txtTelephone))
		txtErreur = txtErreur + ". Telephone \n"
		
	if (txtErreur != "") {
		txtErreur = "Erreur, veuillez remplir les champs obligatoires suivant : \n" + txtErreur;
		alert(txtErreur);
		return false;
	}
	
	if (txtMdp.value != txtMdpConfirm.value) {
		txtErreur = "Erreur, les mots de passe sont differents."
		alert(txtErreur);
		return false;
	}
	
return true;
}

//### BEGIN Fonctions generiques pour la suppression ####
function modifier(elementId) {
	frm.action = page_modif;
	frm.hdnElementId.value = elementId;
	frm.hdnForm.value = 'mod';
	frm.submit();
}
function modifier2(elementId) {
	frm.action = page_modif;
	frm.hdnElementId.value = elementId;
	frm.produitId.value = '527';
	frm.hdnForm.value = 'mod';
	frm.submit();
}
function supprimer(elementId, nom) {
	if (!demandeSupprimer(nom)) return false;
	frm.action = page_supp;
	frm.hdnElementId.value = elementId;
	frm.hdnForm.value = 'del';
	frm.submit();
}

//Utilise pour demander l'autorisation de supprimer
function demandeSupprimer(nomSupp)
{
	faireSupp = confirm("Voulez vous supprimer " + nomSupp + "?");
	if (faireSupp == false)
	{
		return false;
	}	
	return true;
}
//### END Fonctions generiques pour la suppression ####

//#### BEGIN Fonctions generiques ####//

//fonction generique pour verifier si le champ d'un formulaire est vide
//fonction generique pour verifier si le champ d'un formulaire est vide
function validationChampVide(textObj)
{
	 if(textObj.value == ""){
       	return false;
	 }
	 return true;
}

//fonction generique pour verifier si une selection &agrave; ete realisee dans un select
//sachant que 0 veut dire non-selectionne
function validationSelect(textObj)
{
	 if(textObj.value == "0"){
       	return false;
	 }
	 return true;
}

//fonction generique pour verifier si une adresse email est dans un bon format
function validationEmail(textObj)
{
	var str = textObj.value
	var atsign = str.indexOf('@') // get position of @ sign in string
	var dot = str.lastIndexOf('.')

	if ((atsign < 1) ||                    // '@' cannot be in first position
	    (dot <= atsign + 1) ||             // Must be at least one valid char btwn '@' and '.'
	    (str.charAt(dot - 1) == '.') ||	   // Two dots can not appear in consecutive positions
	    (dot == (str.length - 1)) ||       // Must be at least one valid char after '.'
	    (str.indexOf(' ')  != -1) ||       // No empty spaces permitted
	    (str.indexOf(',')  != -1) ||       // No commas permitted
	    (str.indexOf('"')  != -1) ||       // No double quotes permitted
	    (str.indexOf('\'')  != -1))        // No single quotes permitted
	   {  
	   return false;
	}
	return true;
}

//fonction qui test si c'est un float
function IsNumeric(sText)
{
	var ValidChars = "0123456789,";
	var IsNumber=true;
	var Char;

	 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	   { 
	   Char = sText.charAt(i); 
	   if (ValidChars.indexOf(Char) == -1) 
	      {
	      IsNumber = false;
	      }
	   }
	return IsNumber;
}

//fonction qui remplace des carat&egrave;res
function replaceChars(val, oldCara, newCara) {
out = oldCara; // replace this
add = newCara; // with this
temp = "" + val; // temporary holder

	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
return temp;
}


//#### END Fonctions generiques ####//

