function in_array(needle, haystack, strict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
    var found = false, key, strict = !!strict;
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
	        }
	    }
    return found;
	}

function array_key_exists ( key, search ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Felix Geisendoerfer (http://www.debuggable.com/felix)
    // *     example 1: array_key_exists('kevin', {'kevin': 'van Zonneveld'});
    // *     returns 1: true
    // input sanitation
    if( !search || (search.constructor !== Array && search.constructor !== Object) ){
        return false;
		}
    return key in search;
	}
	
function formate(champ) {
	joli=champ.substr(0, 1).toUpperCase()+champ.substr(1, champ.length-1);// mettre la 1° lettre en Majusc
	joli=joli.replace(/\_/g, " ");// remplacer les underscores par des espaces
	return joli;
	}

function is_majeur(annee, mois, jour) {
	datecourante = new Date();
	if(datecourante.getFullYear() - 18 < annee) {
		return false;
		}
	else if(datecourante.getFullYear() - 18 == annee){		
		if((datecourante.getMonth()+1) == mois) {
			if(datecourante.getDate() < jour)return false;
			else return true;
			}
		else {
			if((datecourante.getMonth()+1) < mois)return false;
			else return true;
			}
		}
	else return true;
	}

function chkbx(formu,champ,comb,op) {
	with(eval("document."+formu)) {
		var ok=0;
		
		for (var j=0; j<elements.length; j++) {
			if(elements[j].name==champ && elements[j].checked==true){
				// console.log(elements[j]);
				ok++;
				// console.log(ok);
			}
		}
		
		if(eval(ok+op+comb)) {
			// console.log(ok, ok+op+comb);
			return false;
		}
		else
			return true;
	}
}
	
function verifie(formu,lang) {
	var nom_div="alerte-"+formu.substr(4);
	var btferm=""; // POUR FERMER LE BLOC ERREUR : var btferm="<br /><br /><a href='javascript:;' onclick=\"lobj('"+nom_div+"').style.display='none'\">Fermer</a>";
	var exp = new RegExp("[a-zA-Z\s]{2,50}"); // texte uniquement
	var expMix = new RegExp("[0-9a-zA-Z]{2,50}"); // texte et nombres (ex. adresses)
	var expNum = new RegExp("[0-9]{2,16}"); // chiffres et nombres uniquement
	var expTel = new RegExp("[ /\()+.0-9]{10,20}"); // N° tél
	var expLog = new RegExp("[a-zA-Z0-9]{6,16}"); // Login et pass
	var expCP = new RegExp("[0-9]{5,5}"); // code postal
	var expMail = new RegExp("^[a-zA-Z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$"); //email 
	
	var lien=(formu=="formsaisie")?"leadtel.html":((formu=="formalert")?"alert-confirmation.html":"confirmation.html");
	with(eval("document."+formu)) {	
		var err="";
		tberr=new Array();
		for (var i=1; i < verifie.arguments.length; i++) {
			var champ=arguments[i];
			
			// if(champ!="autreact" && (!eval(champ+".value") || eval(champ+".value")==0))tberr.push(champ);
			if((champ=="pays" || champ=="effectif" || champ=="activite" || champ=="objet" || champ=="famille" || champ=="societe") && (!eval(champ+".value") || eval(champ+".value")==0))tberr.push(champ);
			else if((champ=="familles" || champ=="activites" || champ=="marques") && !chkbx(formu,champ+'[]',1,"<"))tberr.push(champ);
			else if(champ=="commercial" && champ.selectedindex==0)tberr.push(champ);
			else if((champ=="nom" || champ=="prenom" || champ=="ville") && !exp.test(eval(champ+".value")))tberr.push(champ);
			else if((champ=="rue" || champ=="adresse1") && !expMix.test(eval(champ+".value")))tberr.push(champ);
			// else if((champ=="code_postal") && !expCP.test(eval(champ+".value")))tberr.push(champ);
			else if(champ=="telephone" && !expTel.test(eval(champ+".value")))tberr.push(champ);
			else if(champ=="email" && !expMail.test(eval(champ+".value")))tberr.push(champ);
			else if(champ=="autreact" && (activite.selectedIndex==10 && !exp.test(eval(champ+".value"))))tberr.push('autreact');
			else document.getElementById("TD"+champ).className="line";
		}
		if (tberr.length>0) {
			var listerr="<ul>";
			for(i=0; i < tberr.length; i++) {
				document.getElementById("TD"+tberr[i]).className="error";
				lerr=(array_key_exists(tberr[i], text_err))? text_err[tberr[i]]:formate(tberr[i]);
				listerr+="<li>"+lerr+"</li>";
			}
			listerr+="</ul>";
			lobj(nom_div).innerHTML=texterr.value +"<br />"+ listerr+btferm;
			lobj(nom_div).style.display='block';
			lurl=(document.URL.indexOf("#")>0)? document.URL.substring(0,document.URL.indexOf("#")):document.URL;
			document.location=lurl+'#a-'+formu.substr(4);
		}
		else{
			action=lien;
			submit();
		}
	}
}
