function trim(str) {
   return str.replace(/(^\s*)|(\s*$)/g,"")
}

function Majuscule(formName,nomchamp){
	chaine=eval('document.'+formName+'.'+nomchamp+'.value');
	for (var i = 0; i < document.forms.length; i++) {
		if(document.forms[i].name==formName){
			for (var j = 0; j < document.forms[i].elements.length; j++) {
				if(document.forms[i].elements[j].name==nomchamp){
					document.forms[i].elements[j].value=chaine.toUpperCase();
				}
			}
		}
	}
}


function block(formName,nomchamp,champstop){

	for (var i = 0; i < document.forms.length; i++) {
		if(document.forms[i].name==formName){
			formnum=i;
			for (var j = 0; j < document.forms[i].elements.length; j++) {
				if(document.forms[i].elements[j].name==nomchamp){
					//alert(nomchamp);
					elementnum=j;
					if(document.forms[i].elements[j].checked != false){
					//if(testerRadio(nomchamp) != 0){
						etat=true;
					}else{
						etat=false;
					}
				}
				if(document.forms[formnum].elements[j].name==champstop){
					fin=j;
				}
			}
		}
	}
	for (var k = elementnum+1; k < document.forms[formnum].elements.length; k++) {
		if(k<=fin){
			document.forms[formnum].elements[k].disabled=etat;
		}
	}
}


function verifFormulaire(num_form,lang,varCheckDate,varFormOblig){
	return (checkDate(num_form,varCheckDate,lang) && checkFields(num_form,varFormOblig,lang));
}


function checkDate(num_form,varOb,lang){
var tabob=varOb.split(',');

missinginfo = "false";
chpmanquant = "";
for (var i = 0; i < document.forms[num_form].elements.length; i++) {
	for(var k=0;k<tabob.length;k++){
		if(tabob[k]==i){
			//alert(i+" "+document.forms[num_form].elements[i].name);
			//alert(tabob[k]+" "+i);
			type = document.forms[num_form].elements[i].type;
			 switch (type)
			 {
				case "text" : 
					if(trim(document.forms[num_form].elements[i].value) != "") {
						chaine=document.forms[num_form].elements[i].name+"";
						if(chaine.indexOf('date')!=-1){//test forme de la date
						//alert(i);
							if ((document.forms[num_form].elements[i].value.indexOf('/') == -1)) {
								missinginfo = "true";
								nom=document.forms[num_form].elements[i].name;
								nom=nom.replace(/_/g,' ');
								nom=nom.replace('[','');
								nom=nom.replace(']','');
								chpmanquant = chpmanquant +  "- " + nom+"\n";
							}else{
								var chaineTabNb="2,2,4";// pour 00/00/0000
								var tabNb=chaineTabNb.split(',');
								var tabdate=document.forms[num_form].elements[i].value.split('/');
								var boolNb="false";
								for(var cpt=0;cpt<tabdate.length;cpt++){
									if(tabdate[cpt].length!=tabNb[cpt]){
										boolNb="true";
									}else{
										if(!is_numeric(tabdate[cpt])){
											boolNb="true";
										}
									}
								}
								if(boolNb=="true"){
									missinginfo = "true";
									nom=document.forms[num_form].elements[i].name;
									nom=nom.replace(/_/g,' ');
									nom=nom.replace('[','');
									nom=nom.replace(']','');
									chpmanquant = chpmanquant +  "- " + nom+"\n";
								}
							}
						}
					}
				break;
			 }
		 }
	 }
}

if (missinginfo != "false") {

	switch(lang){
		case "FR":
			missinginfo ="Certains champs n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "fr":
			missinginfo ="Certains champs n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "uk","UK":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "es","ES":
			missinginfo ="Seguro campos no se han cumplimentado correctamente." +
			"\nCorríjalos y presente de nuevo el formulario !";
		break;
		case "de","DE":
			missinginfo ="Fehlerhafte Eingabe in Feldern." +
			"\nKorrigieren Sie die Angaben und senden Sie das Formular erneut ab !";
		break;
		case "it","IT":
			missinginfo ="I campi non sono stati informati correttamente." +
			"\nCorreggerli e poi sottoporre di nuovo il formulario !";
		break;
		case "nl","NL":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "pt","PT":
			missinginfo ="Determinados campos não foram enchidos corretamente." +
			"\nPor favor, submeta seu formulário outra vez !";
		break;
	}
	alert(missinginfo);
	return false;
}
else 
	return true;
}

function checkFields(num_form,varOb,lang){
var tabob=varOb.split(',');

missinginfo = "false";
chpmanquant = "";
for (var i = 0; i < document.forms[num_form].elements.length; i++) {
	for(var k=0;k<tabob.length;k++){
		if(tabob[k]==i){
			//alert(i+" "+document.forms[num_form].elements[i].name);
			//alert(tabob[k]+" "+i);
			type = document.forms[num_form].elements[i].type;
			 switch (type)
			 {
				case "text" : 
				case "password" :
				case "file" :
				case "textarea" :
					if(trim(document.forms[num_form].elements[i].value) == "") {
						//alert(i+" "+document.forms[num_form].elements[i].name);
						missinginfo = "true";
						nom=document.forms[num_form].elements[i].name;
						nom=nom.replace(/_/g,' ');
						nom=nom.replace('[','');
						nom=nom.replace(']','');
						chpmanquant = chpmanquant +  "- " + nom+"\n";
					}else{
						chaine=document.forms[num_form].elements[i].name+"";
						if(chaine.indexOf('mail')!=-1){//test forme du mail
						//alert(i);
							if ((document.forms[num_form].elements[i].value.indexOf('@') == -1) || 
								(document.forms[num_form].elements[i].value.indexOf('.') == -1)) {
								missinginfo = "true";
								nom=document.forms[num_form].elements[i].name;
								nom=nom.replace(/_/g,' ');
								nom=nom.replace('[','');
								nom=nom.replace(']','');
								chpmanquant = chpmanquant +  "- " + nom+"\n";
							}
						}
						if(chaine.indexOf('date')!=-1){//test forme de la date
						//alert(i);
							if ((document.forms[num_form].elements[i].value.indexOf('/') == -1)) {
								missinginfo = "true";
								nom=document.forms[num_form].elements[i].name;
								nom=nom.replace(/_/g,' ');
								nom=nom.replace('[','');
								nom=nom.replace(']','');
								chpmanquant = chpmanquant +  "- " + nom+"\n";
							}else{
								var chaineTabNb="2,2,4";// pour 00/00/0000
								var chaineTabValeur="00,00,0000";// pour 00/00/0000
								var tabNb=chaineTabNb.split(',');
								var tabValeur=chaineTabValeur.split(',');
								var tabdate=document.forms[num_form].elements[i].value.split('/');
								var boolNb="false";
								for(var cpt=0;cpt<tabdate.length;cpt++){
									if(tabdate[cpt].length!=tabNb[cpt]){
										boolNb="true";
									}else{
										if(!is_numeric(tabdate[cpt])){
											boolNb="true";
										}else{
											if(tabdate[cpt]==tabValeur[cpt]){
												boolNb="true";
											}
										}
									}
								}
								if(boolNb=="true"){
									missinginfo = "true";
									nom=document.forms[num_form].elements[i].name;
									nom=nom.replace(/_/g,' ');
									nom=nom.replace('[','');
									nom=nom.replace(']','');
									chpmanquant = chpmanquant +  "- " + nom+"\n";
								}
							}
						}
					}
				break;
				case "radio" :
				case "checkbox" :
					NbRadio = document.getElementsByName(document.forms[num_form].elements[i].name).length;
					chec="false";
					for (var j=0; j<NbRadio;j++) {
						if (document.getElementsByName(document.forms[num_form].elements[i].name)[j].checked == true){
						chec="true";
						}
					}
					if(chec=="false"){
						missinginfo = "true";
						nom=document.forms[num_form].elements[i].name;
						nom=nom.replace(/_/g,' ');
						nom=nom.replace('[','');
						nom=nom.replace(']','');
						chpmanquant = chpmanquant +  "- " + nom+"\n";
					}
					i=i+1;
				break;
			 }
		 }
	 }
}

if (missinginfo != "false") {

	switch(lang){
		case "FR":
			missinginfo ="Certains champs obligatoires n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "fr":
			missinginfo ="Certains champs obligatoires n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "uk","UK":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "es","ES":
			missinginfo ="Seguro campos no se han cumplimentado correctamente." +
			"\nCorríjalos y presente de nuevo el formulario !";
		break;
		case "de","DE":
			missinginfo ="Fehlerhafte Eingabe in Feldern." +
			"\nKorrigieren Sie die Angaben und senden Sie das Formular erneut ab !";
		break;
		case "it","IT":
			missinginfo ="I campi non sono stati informati correttamente." +
			"\nCorreggerli e poi sottoporre di nuovo il formulario !";
		break;
		case "nl","NL":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "pt","PT":
			missinginfo ="Determinados campos não foram enchidos corretamente." +
			"\nPor favor, submeta seu formulário outra vez !";
		break;
	}
	alert(missinginfo);
	return false;
}
else 
	return true;
}



function checkFieldsVersionClic(num_form,varOb,lang){
var tabob=varOb.split(',');

missinginfo = "false";
chpmanquant = "";
for (var i = 0; i < document.forms[num_form].elements.length; i++) {
	for(var k=0;k<tabob.length;k++){
		if(tabob[k]==i){
			//alert(i+" "+document.forms[num_form].elements[i].name);
			//alert(tabob[k]+" "+i);
			type = document.forms[num_form].elements[i].type;
			 switch (type)
			 {
				case "text" : 
				case "password" :
				case "file" :
				case "textarea" :
					if(trim(document.forms[num_form].elements[i].value) == "") {
						//alert(i+" "+document.forms[num_form].elements[i].name);
						missinginfo = "true";
						nom=document.forms[num_form].elements[i].name;
						nom=nom.replace(/_/g,' ');
						nom=nom.replace('[','');
						nom=nom.replace(']','');
						chpmanquant = chpmanquant +  "- " + nom+"\n";
					}else{
						chaine=document.forms[num_form].elements[i].name+"";
						if(chaine.indexOf('mail')!=-1){//test forme du mail
						//alert(i);
							if ((document.forms[num_form].elements[i].value.indexOf('@') == -1) || 
								(document.forms[num_form].elements[i].value.indexOf('.') == -1)) {
								missinginfo = "true";
								nom=document.forms[num_form].elements[i].name;
								nom=nom.replace(/_/g,' ');
								nom=nom.replace('[','');
								nom=nom.replace(']','');
								chpmanquant = chpmanquant +  "- " + nom+"\n";
							}
						}
						if(chaine.indexOf('date')!=-1){//test forme de la date
						//alert(i);
							if ((document.forms[num_form].elements[i].value.indexOf('/') == -1)) {
								missinginfo = "true";
								nom=document.forms[num_form].elements[i].name;
								nom=nom.replace(/_/g,' ');
								nom=nom.replace('[','');
								nom=nom.replace(']','');
								chpmanquant = chpmanquant +  "- " + nom+"\n";
							}else{
								var chaineTabNb="2,2,4";// pour 00/00/0000
								var chaineTabValeur="00,00,0000";// pour 00/00/0000
								var tabNb=chaineTabNb.split(',');
								var tabValeur=chaineTabValeur.split(',');
								var tabdate=document.forms[num_form].elements[i].value.split('/');
								var boolNb="false";
								for(var cpt=0;cpt<tabdate.length;cpt++){
									if(tabdate[cpt].length!=tabNb[cpt]){
										boolNb="true";
									}else{
										if(!is_numeric(tabdate[cpt])){
											boolNb="true";
										}else{
											if(tabdate[cpt]==tabValeur[cpt]){
												boolNb="true";
											}
										}
									}
								}
								if(boolNb=="true"){
									missinginfo = "true";
									nom=document.forms[num_form].elements[i].name;
									nom=nom.replace(/_/g,' ');
									nom=nom.replace('[','');
									nom=nom.replace(']','');
									chpmanquant = chpmanquant +  "- " + nom+"\n";
								}
							}
						}
					}
				break;
				case "radio" :
				case "checkbox" :
					NbRadio = document.getElementsByName(document.forms[num_form].elements[i].name).length;
					chec="false";
					for (var j=0; j<NbRadio;j++) {
						if (document.getElementsByName(document.forms[num_form].elements[i].name)[j].checked == true){
						chec="true";
						}
					}
					if(chec=="false"){
						missinginfo = "true";
						nom=document.forms[num_form].elements[i].name;
						nom=nom.replace(/_/g,' ');
						nom=nom.replace('[','');
						nom=nom.replace(']','');
						chpmanquant = chpmanquant +  "- " + nom+"\n";
					}
					i=i+1;
				break;
			 }
		 }
	 }
}

if (missinginfo != "false") {

	switch(lang){
		case "FR":
			missinginfo ="Certains champs obligatoires n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "fr":
			missinginfo ="Certains champs obligatoires n'ont pas été correctement renseignés :\n\n" +
			chpmanquant +"\n\nCorrigez-les puis soumettez à nouveau le formulaire !";
		break;
		case "uk","UK":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "es","ES":
			missinginfo ="Seguro campos no se han cumplimentado correctamente." +
			"\nCorríjalos y presente de nuevo el formulario !";
		break;
		case "de","DE":
			missinginfo ="Fehlerhafte Eingabe in Feldern." +
			"\nKorrigieren Sie die Angaben und senden Sie das Formular erneut ab !";
		break;
		case "it","IT":
			missinginfo ="I campi non sono stati informati correttamente." +
			"\nCorreggerli e poi sottoporre di nuovo il formulario !";
		break;
		case "nl","NL":
			missinginfo ="Certain fields were not correctly filled." +
			"\nPlease, submit your form again !";
		break;
		case "pt","PT":
			missinginfo ="Determinados campos não foram enchidos corretamente." +
			"\nPor favor, submeta seu formulário outra vez !";
		break;
	}
	alert(missinginfo);
	return false;
}
else 
	window.document.forms[num_form].submit();
}

//-----------------------------------------

function cacher_div(chaine){
	tablo=chaine.split(',');
	for(var k=0;k<tablo.length;k++){
		document.getElementById(tablo[k]).style.display='none';
	}
}

function cacher_afficher_div(nom_div){
	if(document.getElementById(nom_div).style.display=='none'){
		document.getElementById(nom_div).style.display='block';
	}else{
		document.getElementById(nom_div).style.display='none';
	}
}

function afficherDiv(nom_div){
	document.getElementById(nom_div).style.display='block';
}

//-----------------------

function is_numeric(num)
	{
		var exp = new RegExp("^[0-9-.]*$","g");
		return exp.test(num);
	}


//-----------------------
//-------
function testerRadio(radio) {
      for (var i=0; i<radio.length;i++) {
         if (radio[i].checked) {
			return radio[i].value;
         }
      }
}

//--------------
function left(str,nbr) {
   return str.substr(0,nbr)
}

function file(fichier)
	{
	if(window.XMLHttpRequest) // FIREFOX
	xhr_object = new XMLHttpRequest();
	else if(window.ActiveXObject) // IE
	xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
	else
	return(false);
	xhr_object.open("GET", fichier, false);
	xhr_object.send(null);
	
	if(xhr_object.readyState == 4) return(xhr_object.responseText);
	else return(false);
}
	
function nb_aleatoire(nb)
{
	return Math.floor(Math.random() * nb)+1;
}
	
function writediv(texte,div)
	{
	document.getElementById(div).innerHTML = texte;
	}
	
function getnumElement(numform,nomelem){
	for (var i = 0; i < document.forms[numform].elements.length; i++) {
		if(document.forms[numform].elements[i].name==nomelem){
			id=i;
		}
	}
	return id;
}

function replaceCommaByPoint(valeur,nbform,champ){
	valeur=valeur.replace(',','.');
	id=getnumElement(nbform,champ);
	document.forms[nbform].elements[id].value=valeur;
}

function goProd(url){
	window.document.location.href=url;
}

function changeProd(id,lang){
	var nb=nb_aleatoire(1000000);
	var texte="";
	if(texte = file('ajax/getListProd.php?id='+id+'&lang='+lang+'&nb='+nb))
	{
		writediv(texte,'recherche2');
	}
	else{
		alert("plantage requête");
	}
}
