function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function pop_news(news)
{
	if (news != 0) 
	{
		var url= news;
		window.open(url,"","");
	}
}

function pop_franchise(news)
{
	if (news != 0) 
	{
		var url='/upload/file/' + news;
		window.open(url,"","");
	}
}

function valid_newsletter() 
{
	if (contact.civilite.selectedIndex == 0)
	{
		alert("Veuillez indiquer votre civilité");
		document.contact.civilite.focus();
		return(false);
	} 
	
	if (contact.nom.value == "")
	{
		alert("Veuillez indiquer votre nom");
		document.contact.nom.focus();
		return(false);
	} 

	if (contact.prenom.value == "")
	{
		alert("Veuillez indiquer votre prénom");
		document.contact.prenom.focus();
		return(false);
	} 

	if (contact.societe.value == "")
	{
		alert("Veuillez indiquer le nom votre société");
		document.contact.societe.focus();
		return(false);
	} 

	if (contact.email.value == "")
	{
		alert("Veuillez indiquer votre adresse mail");
		document.contact.email.focus();
		return(false);
	} 

	var radioSelected = false;
	for (i = 0;  i < contact.format_email.length;  i++)
	{
    	if (contact.format_email[i].checked)
        	radioSelected = true;

	}

	

	if (!radioSelected)

	{

		alert("Veuillez indiquer le format de réception de la newsletter");

		document.contact.format_email[0].focus();

	    return (false);

	}	

}





function valid_contacts() 

{

	if (contact.civilite.selectedIndex == 0)

	{

		alert("Veuillez indiquer votre civilité");

		document.contact.civilite.focus();

		return(false);

	} 

	

	if (contact.nom.value == "")

	{

		alert("Veuillez indiquer votre nom");

		document.contact.nom.focus();

		return(false);

	} 



	if (contact.prenom.value == "")

	{

		alert("Veuillez indiquer votre prénom");

		document.contact.prenom.focus();

		return(false);

	} 



	if (contact.societe.value == "")

	{

		alert("Veuillez indiquer le nom votre société");

		document.contact.societe.focus();

		return(false);

	} 



	if (contact.fonction.value == "")

	{

		alert("Veuillez indiquer votre fonction au sein de votre société");

		document.contact.fonction.focus();

		return(false);

	} 



	if (contact.adresse.value == "")

	{

		alert("Veuillez indiquer votre adresse");

		document.contact.adresse.focus();

		return(false);

	} 



	if (contact.code_postal.value == "")

	{

		alert("Veuillez indiquer votre code postal");

		document.contact.code_postal.focus();

		return(false);

	} 



	if (contact.ville.value == "")

	{

		alert("Veuillez indiquer votre ville");

		document.contact.ville.focus();

		return(false);

	} 



	if (contact.pays.value == "")

	{

		alert("Veuillez indiquer votre pays");

		document.contact.pays.focus();

		return(false);

	} 

	if (contact.tel.value == "")

	{

		alert("Veuillez indiquer votre numéro de téléphone");

		document.contact.tel.focus();

		return(false);

	} 





	if (contact.email.value == "")

	{

		alert("Veuillez indiquer votre adresse mail");

		document.contact.email.focus();

		return(false);

	} 

	

	if (contact.message.value == "")

	{

		alert("Veuillez saisir votre message");

		document.contact.message.focus();

		return(false);

	} 

}





/* SCRIPT SHOW HIDE DIV MODIFIE PAR MOI */

var state = 'hidden';

var state2 = 'none';



function showhide(layer_ref)

{

	if (state == 'visible') 

	{

		state = 'hidden';

		state2 = 'none';

	}

	else

	{

		state = 'visible';

		state2 = 'block';

	}



	if (document.all) { //IS IE 4 or 5 (or 6 beta)

		eval( "document.all." + layer_ref + ".style.visibility = state");

		eval( "document.all." + layer_ref + ".style.display = state2");

	}



	if (document.layers) 

	{ //IS NETSCAPE 4 or below

		document.layers[layer_ref].visibility = state;

		document.layers[layer_ref].display = state2;

	}

	

	if (document.getElementById && !document.all) 

	{

		maxwell_smart = document.getElementById(layer_ref);

		maxwell_smart.style.visibility = state;

		maxwell_smart.style.display = state2;

	}

}

function show_ssmenu(layer,montrer)
{
	var gauche;
	var haut;
	if (montrer==1)
	{
		
		$('layer_'+layer).setStyle('display', 'block');
		gauche=$(layer).getLeft();
		haut=$(layer).getTop();
		$(layer).set('class','active');
		$('layer_'+layer).setStyle('left', gauche);
		$('layer_'+layer).setStyle('top', haut+29);
	}
	else
	{
		$(layer).set('class','');
		$('layer_'+layer).setStyle('display', 'none');
	}
}

/* bridage */

var validationErrorMessage = new Object();
validationErrorMessage['obligatoire'] = 'Veuillez renseigner ce champ';
validationErrorMessage['nom'] = 'Veuillez saisir votre nom. Il ne doit pas contenir de chiffre et faire 2 caracteres minimum';
validationErrorMessage['nomjf'] = 'Veuillez saisir votre nom de jeune fille. Il ne doit pas contenir de chiffre et faire 2 caracteres minimum';
validationErrorMessage['prenom'] = 'Veuillez saisir votre prenom. Il ne doit pas contenir de chiffre et faire 2 caracteres minimum';
validationErrorMessage['numeric'] = 'Veuillez ne saisir que des nombres sans virgule (0 si besoin)';
validationErrorMessage['codepostal'] = 'Veuillez saisir un code postal correct. Si vous êtes résidant des DOM TOM, nous ne pouvons étudier votre dossier. Merci de votre comprehension.';
validationErrorMessage['email'] = 'Veuillez saisir une adresse mail correcte (ex: nom@domain.com)';
validationErrorMessage['telephone'] = 'Veuillez saisir un numero de telephone compose de 10 chiffres sans espace ni ponctuation';
validationErrorMessage["fin_contrat"] = "Veuillez renseigner quand votre contrat se termine";
validationErrorMessage['pattern'] = 'Pattern incorrect';
validationErrorMessage['date'] = 'Veuillez saisir une date sous la forme : jj/mm/aaaa';

validationErrorMessage['decimal'] = 'Veuillez saisir un nombre et/ou remplacer la virgule (,) par un point (.) et ne preciser que 2 chiffres derriere (0 si besoin)';
validationErrorMessage["telephonefixe"] = 'Veuillez saisir un numero de telephone fixe compose de 10 chiffres sans espace ni ponctuation';
validationErrorMessage["telephoneportable"] = 'Veuillez saisir un numero de telephone portable composé de 10 chiffres sans espace ni ponctuation';;



var validationFunctions = new Object();
validationFunctions["obligatoire"] = isRequired;
validationFunctions["nom"] = isNom;
validationFunctions["nomjf"] = isNom;
validationFunctions["prenom"] = isNom;
validationFunctions["numeric"] = isnumeric;
validationFunctions["decimal"] = isdecimal;
validationFunctions["codepostal"] = isPostCode;
validationFunctions["email"] = isEmail;
validationFunctions["telephone"] = isTelephone;
validationFunctions["telephonefixe"] = isTelephoneFixe;
validationFunctions["telephoneportable"] = isTelephonePortable;
validationFunctions["fin_contrat"] = "";
validationFunctions["pattern"] = isPattern;
validationFunctions["date"] = isDate;


function isRequired(formField) {
	switch (formField.type) {
		case 'text':
		case 'textarea':
		case 'select-one':
			if (formField.value)
				return true;
			return false;
		case 'radio':
			var radios = formField.form[formField.name];
			for (var i=0;i<radios.length;i++) {
				if (radios[i].checked) return true;
			}
			return false;
		case 'checkbox':
			return formField.checked;
	}	
}

function isPattern(formField,pattern) {
	var pattern = pattern || formField.getAttribute('pattern');
	var regExp = new RegExp("^"+pattern+"$","");
	var correct = regExp.test(formField.value);
	if (!correct && formField.getAttribute('patternDesc'))
		correct = formField.getAttribute('patternDesc');
	return correct;
}

function isPostCode(formField) {
	return isPattern(formField,"[0-9]{5}") && !isPattern(formField,"97(.*)");
}
function isPostCode_naissance(formField) {
	return isPattern(formField,"[0-9]{5}") || isPattern(formField,"[9-9]{2}");
}

function isnumeric(formField) {
	return isPattern(formField,"\\d+");
}

function isdecimal(formField) {
	return isPattern(formField,"\\d+[.]?\\d{0,2}");
}


function isEmail(formField) {
	//return isPattern(formField,"[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}")
	var reg = /^[\w.-]+@[\w.-]+\.\w{1,4}$/
        var reg2 = /[.@]{2,}/
        var result = ((reg.exec(formField.value)!=null) && (reg2.exec(formField.value)==null))
        //alert(result);
        return result;
}

function emptyFunction() {
	return true;
}


function isDate(formField) {
	return isPattern(formField,"[0-9]{1,2}\/[0-9]{1,2}\/([0-9]{2}|[0-9]{4})");
}

function isTelephone(formField) {
	if(formField.value=="0000000000") return false;
	return isPattern(formField,"[0-9]{10}");
}

function isTelephoneFixe(formField) {
	if(formField.value=="0000000000") return false;
	if(formField.value.substring(0,2)=="06") return false;
	return isPattern(formField,"[0-9]{10}");
}

function isTelephonePortable(formField) {
	if(formField.value=="0000000000") return false;
	return isPattern(formField,"06[0-9]{8}");
}


function isNom(formField) {
	if(formField.value.length<2) return false;
	var code = /[0-9]/
        var result = ((code.exec(formField.value)==null))
        return(result);
}



/*********************************/

var W3CDOM = document.createElement && document.getElementsByTagName;

function validateForms() {
	if (!W3CDOM) return;
	var forms = document.forms;
	for (var i=0;i<forms.length;i++) {
		forms[i].onsubmit = validate;
	}
}

//addEventSimple(window,'load',validateForms);

function validate(formulaire) {
//alert('validation');
	var els = formulaire;
	var validForm = true;
	var firstError = null;
	for (var i=0;i<els.length;i++) {
		if (els[i].removeError)
			els[i].removeError();
		var req = els[i].getAttribute('validation');
		if (!req) continue;
		var reqs = req.split(' ');
		if (els[i].getAttribute('pattern'))
			reqs[reqs.length] = 'pattern';
		for (var j=0;j<reqs.length;j++) {
			if (!validationFunctions[reqs[j]])
				validationFunctions[reqs[j]] = emptyFunction;
			var OK = validationFunctions[reqs[j]](els[i]);
			if (OK != true) {
				var errorMessage = OK || validationErrorMessage[reqs[j]];
				writeError(els[i],errorMessage)
				validForm = false;
				if (!firstError)
					firstError = els[i];
				break;
			}
		}
	}
	//alert('erreur : '+validForm);
	if (!validForm)
	{
		document.getElementById('div_message_erreur').innerHTML = "<p>Certains champs obligatoires n'ont pas &eacute;t&eacute; compl&eacute;t&eacute;s ou comportent des erreurs.</p>";
		document.getElementById('div_message_erreur').style.display = 'block'; 
//		location.hash = '#div_message_erreur';
	}
	return validForm;
}

function writeError(obj,message) {
	//alert('obj');
	obj.className += ' errorMessage';
	obj.onchange = removeError;
	if (obj.errorMessage || obj.parentNode.errorMessage) return;
	var errorMessage = document.createElement('label');
	errorMessage.className = 'errorMessage';
	errorMessage.setAttribute('for',obj.id);
	errorMessage.setAttribute('htmlFor',obj.id);
	errorMessage.appendChild(document.createTextNode(message));
	obj.parentNode.appendChild(errorMessage);
	obj.errorMessage = errorMessage;
	obj.parentNode.errorMessage = errorMessage;
}

function removeAllErrors() {
	this.className = this.className.replace(/errorMessage/,'');
	this.parentNode.removeChild(this.errorMessage);
	this.errorMessage = null;
	this.parentNode.errorMessage = null;
}


function removeError() {
	this.className = this.className.replace(/errorMessage/,'');
	if (this.errorMessage) {
		this.parentNode.removeChild(this.errorMessage);
		this.errorMessage = null;
		this.parentNode.errorMessage = null;
	}
	this.onchange = null;
}