// JavaScript Document

// Effectue une redirection d'url
function	redirectURL(url) {
	document.location.href=url;
}
// ------------------------------------------------------------------


// Charge la class Css a tous les elements select et input ( type != hidden )
function	setElementsFormCssClass() {
	var inputs = document.getElementsByTagName('input');
	//var selects = document.getElementsByTagName('select');
	
	for (i = 0; i < inputs.length; i++)
		if ( inputs[i].type != 'hidden' 
			&& inputs[i].type != 'checkbox' 
			&& inputs[i].type != 'radio' 
			&& inputs[i].type != 'image')  {
			inputs[i].className = 'inputForm';
		}
		
	//for (i = 0; i < selects.length; i++)
	//	selects[i].className = 'select';
}
//___________________________________________________________

// Desactive ou active l'élement du formulaire
//var flagDisable = true;
function	disableElementForm(elementID) {
	if (document.getElementById(elementID).readOnly == false) {
		document.getElementById(elementID).readOnly = true;
		document.getElementById(elementID).style.backgroundColor='#ADADAD';
	}
	else {
		document.getElementById(elementID).readOnly = false;
		document.getElementById(elementID).style.backgroundColor='#FFFFFF';
	}
}

// -----------------------------------------------------------------

// Affiche un message d'erreur
function ErreurMsg(idObj, msg) {
 var message =  document.getElementById(idObj);
 message.style.color = 'red';
 message.innerHTML = msg;
}
// -----------------------------------------------------------------

// Définit les classes initiales pour les elements d'un formulaire
function	setInitialClassName(elementIdArray) {
	for (i = 0; i < elementIdArray.length; i++) {
		var elementInput = document.getElementById(elementIdArray[i]);
		var elementLabel = document.getElementById(elementIdArray[i] + 'Label');
		//alert(elementIdArray[i] + ' : ' + elementInput);
		if ( elementInput && elementInput.type != 'hidden' ) {
			elementInput.className = 'inputForm';
			if (elementLabel)
				elementLabel.className = 'labelForm';
		}
	}	
}
// -----------------------------------------------------------------

// Définit les classes initiales pour les elements de date d'un formulaire
function	setInitialDateClassName(elementIdArray) {
	for (i = 0; i < elementIdArray.length; i++) {
		var elementInputDay		= document.getElementById(elementIdArray[i] + 'J');
		var elementInputMonth	= document.getElementById(elementIdArray[i] + 'M');
		var elementInputYear	= document.getElementById(elementIdArray[i] + 'A');
		var elementLabel		= document.getElementById(elementIdArray[i] + 'Label');
		
		if ( elementInputDay && elementInputDay.type != 'hidden' 
			&& elementInputMonth && elementInputMonth.type != 'hidden'
			&& elementInputYear && elementInputYear.type != 'hidden') {
			elementInputDay.className = 'inputForm';
			elementInputMonth.className = 'inputForm';
			elementInputYear.className = 'inputForm';
			if (elementLabel)
				elementLabel.className = 'labelForm';
		}
	}	
}
// -----------------------------------------------------------------
//Vérification d'une url
function verif_url(elementID, fieldname){
	
	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	//alert(objElement.value);
	var mail = new RegExp("/^([http]+[/:/]+[\///])+(.+)?[/\./]+[a-z]{2,4}$/","gi");
		
	if(objElement.value.search(/(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/) == -1)
	{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "Le format de votre url est incorrect.";
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';		
		objElement.focus();
		return false;
	}
	return true;		
}
//----------------------------------------------------------------------
// Vérification d'un bouton radio
function	verif_radio(elementID, fieldname) {
	//var objElement = document.getElementById(elementID);
	var objElement = document.getElementsByName(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	
	if (elementID) {
		objElement.className = 'inputForm';
		objLabel.className = 'labelForm';
		for (i = 0; i < objElement.length; i++)
			if (objElement[i].checked == true) {
				objElement.className = 'inputForm';
				objLabel.className = 'labelForm';
				return true;
			}
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "* Please provide us your " + fieldname;
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		return false;
	}
	return true;
}
// -----------------------------------------------------------------


// Vérificartion d'une case coché
function	verif_checkbox(elementName, fieldname) {
	var objElement = document.getElementsByName(elementName);
	var objLabel = document.getElementById(elementName.slice(0, -2) + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');

	if (elementName) {
		objElement.className = 'inputForm';
		objLabel.className = 'labelForm';
		for (i = 0; i < objElement.length ; i++)
			if (objElement[i].checked == true) {
				objElement.className = 'inputForm';
				objLabel.className = 'labelForm';
				return true;
			}
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "* Please agree with ours " + fieldname;
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		return false;
	}
	return true;
}
// -----------------------------------------------------------------
// Vérificartion d'une case coché cgv
function	verif_checkbox_cgv(elementName) {
	var objElement = document.getElementsByName(elementName);
	var objLabel = document.getElementById(elementName.slice(0, -2) + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	if (elementName) {
		objElement.className = 'inputForm';
		objLabel.className = 'labelForm';
		for (i = 0; i < objElement.length ; i++)
			if (objElement[i].checked == true) {
				objElement.className = 'inputForm';
				objLabel.className = 'labelForm';
				return true;
			}
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "* Please agree with ours terms and conditions";
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		return false;
	}
	return true;
}

// Verification numérique
function	verif_num(elementID, fieldname, nb) {
	var flg = 0;
	var num = "0123456789 .,";
	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	var point=0;
	var virgule=0;

	if (objElement.value=="") {
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "Please provide us  your " + fieldname;
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		objElement.focus();
		
		return false;
	}
	else {
		if (objElement.value.length < nb) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "* Please provide us " + nb + " figures for your " + fieldname;
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			return false;
		}
		for (var k = 0; k < objElement.value.length; k++) {
			var test = objElement.value.substring(k, k + 1);
			if (num.indexOf(test) < 0)
				flg++;
		}
		if (flg > 0) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "* Please provide us a correct " + fieldname + " (alone the number is allowed)"
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			flg = 0;
			return false;
		}
		for (var k = 0; k < objElement.value.length; k++) {
			var test = objElement.value.substring(k, k + 1);
			if (test == '.'){
				point=point+1;	
			}
			if (test == ','){
				virgule=virgule+1;	
			}
		}
		var tot=point + virgule;
		if (point >1 || virgule>1 || tot>1) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "* Please provide us a correct " + fieldname + " (alone the number is allowed)"
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			flg = 0;
			return false;
		}
		
	}
	objElement.className = 'inputForm';
	objLabel.className = 'labelForm';
	return true;
}
// -----------------------------------------------------------------


// Vérification alphanumerique
function	verif_alphanum(elementID, fieldname) {
	//alert('fto');
	
	var flg = 0;
	var alphanum="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@\,’»«…\'\"\-_/\.<>\n\r()%:;= âàéèëêiïîöôùüûç&!?€";
	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	
	
	
	if (objElement.value=="")
	{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "* Please provide us your " + fieldname;
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		objElement.focus();
		return false;
	}
	else
	{
		var space_after = objElement.value.lastIndexOf(" ");
		var space_before = objElement.value.indexOf(" ");
		if ((((space_after + 1) == objElement.value.length) || ((space_before + 1) == 1)) && (objElement.value.length <=2)) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "Your " + fieldname+ " is incorrect (at least 2 letters)";
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			return false;
		}
		if (objElement.value.length <2) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "Your " + fieldname+ " is incorrect (at least 2 letters)";
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			return false;
		}
		/*for (var k=0;k<objElement.value.length;k++){
			var test = objElement.value.substring(k,k+1);

			if (alphanum.indexOf(test)<0)
				flg++;
		}
		if (flg>0) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "* Merci de préciser votre " + fieldname + " correctement (seuls les caratères alphanumériques sont autorisés)"
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			flg=0;
			return false;
		}*/
	}
	objElement.className = 'inputForm';
	objLabel.className = 'labelForm';
	return true;
}
// -----------------------------------------------------------------

function verif_alpha(elementID, fieldname){

	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	
	if (objElement.value=="")
	{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "* Please provide us your " + fieldname;
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';
		objElement.focus();
		return false;
	}
	else
	{
		var space_after = objElement.value.lastIndexOf(" ");
		var space_before = objElement.value.indexOf(" ");
		if ((((space_after + 1) == objElement.value.length) || ((space_before + 1) == 1)) && (objElement.value.length <=3)) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "Your " + fieldname+ " is incorrect (at least 3 letters)";
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			return false;
		}
		if (objElement.value.length <3) {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = "Your " + fieldname+ " is incorrect (at least 3 letters)";
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			objElement.focus();
			return false;
		}
	}

	var mail = new RegExp("^[a-zA-Z]+$");
	//alert(mail.exec(objElement.value));
	if (mail.exec(objElement.value)==null)
	{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "Your family name is incorrect, only characters between a - z and A - Z";
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';		
		objElement.focus();
		return false;
	}
	return true;		
}

//------------------------------------------

function verif_mail(elementID, fieldname){

	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	
	var mail = new RegExp("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$","gi");
	//alert(mail.exec(objElement.value));
	if (mail.exec(objElement.value)==null)
	{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = "Your email is incorrect";
		objElement.className = 'inputErr';
		objLabel.className = 'labelErr';		
		objElement.focus();
		return false;
	}
	return true;		
}

//------------------------------------------
// Verifie	si une catégorie est choisi
function	verif_selected(elementID, fieldname) {
	var objElement = document.getElementById(elementID);
	var objLabel = document.getElementById(elementID + 'Label');
	var erreurFieldset = document.getElementById('mes_err_fieldset');
	var erreurText = document.getElementById('erreur_msg');
	
	if (objElement) {
		var objLabel = document.getElementById(elementID + 'Label');
		if (objElement.value == "") {
			erreurFieldset.style.display = 'block';
			erreurText.innerHTML = 'Please provide us your ' + fieldname ;
			objElement.className = 'inputErr';
			objLabel.className = 'labelErr';
			return false;
		}
		else{
			objElement.className = 'inputForm';
			objLabel.className = 'labelForm';
			return true;
		}
	}
	/*
	else{
		erreurFieldset.style.display = 'block';
		erreurText.innerHTML = 'Veuillez au moins choisir un(e) ' + fieldname ;
		//objElement.className = 'inputErr';
		//objLabel.className = 'labelErr';
		return false;
	}
	*/
	return true;
}



// -----------------------------------------------------------------

// -----------------------------------------------------------------

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

