/**	ezs.mb2a.js version 1.0 - 03.04.2007	designed by Christophe PERSOZ - www.ogoon.fr	Copyright © 2007 - Ogoon		Fonctions JS pour le site mb2a.com		**/var error = new InitError(); // variables globales de gestion d'erreur. Utilise par toutes les fonctions de gestion d'erreurwindow.name="main";/* Initialisation de la gestion d'erreur */function InitError(){	this.nbError = 0;	this.add = addError;	this.remove = delError;}/* Initialisation pour le formulaire */function initForm(){	//addError('nom');	addError('mail');	//addError('phone');}/* reinitialise la class d'un champ signale comme mauvais*/function initInput(object){	document.getElementById(object.name).style.backgroundColor = 'transparent';}/* Ajoute une erreur au tableau d'erreur*/ function addError(objName){	var obj = new Object;		obj.nom = objName;		obj.val = true;	var found = 0;		// regarde si l'erreur existe deja, si oui change se valeur en true, sinon ou l'ajoute au tableau d'erreur	for (i=0; i<error.nbError; i++)	{		// si l'element existe deja on change la valeur		if (error[i].nom == objName)		{			error[i].val = true;			found = 1;		}	}		// on rajoute l'erreur	if (found == 0)	{		error[error.nbError] = obj;		error.nbError++;	}}/* Verirife si l'erreur existe deja, si oui la supprime*/function delError(objName){	for (i=0; i<error.nbError; i++)		if (error[i].nom == objName)			error[i].val = false;}/*	Valide un formulaire avant envoi*/function checkForm(formName){	document.forms[formName].method = "POST";	indice = 0;	errList = '';		for (i=0; i<error.nbError; i++)	{		if (error[i].val == true)		{			var referent = document.getElementById(error[i].nom);			if(!referent)				error.remove(error[i].nom);						document.getElementById(error[i].nom).style.backgroundColor = '#ffc000';			indice++;		}	}		// formulaire valide	if (indice == 0)	{		document.getElementById('nmail').value = 1;		return (true);	}		// formulaire invalide	if (indice > 1)		alert ( 'Vous avez omis de remplir/corriger '+ indice + ' champs.\nMerci de vérifier et/ou corriger les champs indiqués.' );	else		alert ( 'Vous avez omis de remplir/corriger le champ indiqué.\nMerci de vérifier et/ou corriger votre saisie.' );	return (false);}/*	Valide un champ texte, doit etre non nul*/function isValidText(object){	if (object.value == '')	{		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}	document.getElementById(object.name).style.backgroundColor = 'transparent';	error.remove(object.name);	return (true);}/*	Valide un numero de telephone, au moins 8 car, accepte () + et space*/function isValidPhone(object){	if (object.value == '')	{		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}		var regEx = /([0-9\ \+\(\)]{8,})$/gi;		if (object.value.match(regEx) == null ) {		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}		document.getElementById(object.name).style.backgroundColor = 'transparent';	error.remove(object.name);		return (true);}/*	Valide une adresse mail*/function isValidMail(object){	var regEx = /([a-z0-9]+([-_]?[a-z0-9]+)*.)*[a-z0-9]+([-_]?[a-z0-9]+)*@([a-z0-9]+([-_]?[a-z0-9]+)*\.)[a-z]{1,3}(.{1}[a-z]{2})?$/gi;		if (object.value == '')	{		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}		if (object.value.match(regEx) == null ) {		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}		document.getElementById(object.name).style.backgroundColor = 'transparent';	error.remove(object.name);	return (true);}/*	Valide un champ texteArea, doit etre non nul*/function isValidTextArea(object){	if (object.value == '')	{		document.getElementById(object.name).style.backgroundColor = '#ffc000';		error.add(object.name);		return (false);	}	document.getElementById(object.name).style.backgroundColor = 'transparent';	error.remove(object.name);	return (true);}/*	Deconnecte un utilisateur de son compte*/function logOut(formName){	document.forms[formName].action = '_logout.php';	document.forms[formName].submit();}/*	Ouvre une page avec le lien envoyé*/ function openWin(Url,windowName){	param = 'width=860,height=1024,fullscreen=0,directories=0,location=0,resizable=1,menubar=0,scrollbars=1,status=1,toolbar=0';	wn = window.open(Url,windowName,param);	wn.focus();	return;}// initialise l'ensemble des boites produitfunction initProdPanel(){	if (document.getElementById('presentation') && document.getElementById('presentation').style.display == 'none')	{		document.getElementById('presentation').style.display = 'block';		document.getElementById('ssp_presentation').className = 'sel';	} else if (document.getElementById('ssp_presentation'))		document.getElementById('ssp_presentation').className = 'sel';	if (document.getElementById('personnalisation'))		document.getElementById('personnalisation').style.display = 'none';	if (document.getElementById('spec'))		document.getElementById('spec').style.display = 'none';	if (document.getElementById('suggest'))		document.getElementById('suggest').style.display = 'none';	// affichage du panel presentatio si present	if (document.getElementById('presentation'))		previousID = 'presentation';}/* Montre cache la description des produits*/var previousID = null; // memorisationfunction showHide(IDName){	// cache le panel précédent	if (IDName != previousID && previousID!=null)	{		document.getElementById(previousID).style.display = 'none';		if (document.getElementById('ssp_'+previousID))			document.getElementById('ssp_'+previousID).className = '';	}		if (document.getElementById(IDName))	{		if (document.getElementById(IDName).style.display == 'none')			document.getElementById(IDName).style.display = 'block';		if (document.getElementById('ssp_'+IDName))			document.getElementById('ssp_'+IDName).className = 'sel';	}	previousID = IDName;		return;}/* Gestion de la sous navigation*/var previousSSM = null; // memorisationfunction SSMShowHide(IDName){	dt = document.getElementsByTagName("a");		// reinitialisation des etats du menu	for (i=0;i<dt.length;i++)	{		if (dt[i].id.indexOf('m_' + IDName.substr(4)) != -1)		{			//dt[i].style.color = '#b5d0f5';			dt[i].style.cursor = 'default';					} else if (dt[i].id.indexOf('m_') != -1)		{			dt[i].style.color = '#fff';			dt[i].className = 'jsDefaut';			if (dt[i].href == '')				dt[i].style.cursor = 'default';			else				dt[i].style.cursor = 'pointer';		}	}		if (document.getElementById('m_' + IDName.substr(4)))		document.getElementById('m_' + IDName.substr(4)).className = 'sel';	// cache le panel précédent	if (IDName != previousSSM && previousSSM!=null && document.getElementById(previousSSM))		document.getElementById(previousSSM).style.display = 'none';	// affiche le selectionné	if (document.getElementById(IDName))		document.getElementById(IDName).style.display = 'block';		previousSSM = IDName;		return;}function SSMHide(){	dt = document.getElementsByTagName("a");		if (previousSSM!=null && document.getElementById(previousSSM))		document.getElementById(previousSSM).style.display = 'none';	for (i=0;i<dt.length;i++)	{		if (dt[i].id.indexOf('m_') != -1)		{			dt[i].style.color = '#fff';			dt[i].className = 'jsDefaut';			if (dt[i].href == '')				dt[i].style.cursor = 'default';			else				dt[i].style.cursor = 'pointer';		}	}		return;}