//******************************************************************************
//Function: 	ResetClassName
//------------------------------------------------------------------------------
//Description: 	Vérifie qu'une valeur est composée de @ et du .
//******************************************************************************
function ResetClassName(AForm)
{   for (var i = 0; i < AForm.elements.length; i++)
		AForm.elements[i].className = '';
}

//******************************************************************************
//Function: 	CharToUpper
//Description: 	
//******************************************************************************
function CharToUpper(AObj)
{	AObj.value = AObj.value.toUpperCase();
}

//******************************************************************************
//Function: 	FirstCharToUpper
//Description: 	
//******************************************************************************
function FirstCharToUpper(AObj)
{	var Str = AObj.value.charAt(0).toUpperCase() + AObj.value.substring(1, AObj.value.length);
	AObj.value = Str;
}

//******************************************************************************
//Function: 	CheckEmail
//------------------------------------------------------------------------------
//Description: 	Vérifie qu'une valeur est composée de @ et du .
//******************************************************************************
function CheckEmail(adresse)
{	var arobase = adresse.indexOf("@", 1);
	var point = adresse.indexOf(".", arobase + 1);
	return ((adresse.length > 2) && (arobase > -1) && (point > 1))
}

//******************************************************************************
//Function: 	Is_Numeric
//------------------------------------------------------------------------------
//Description: 	Vérifie qu'une valeur est numérique
//******************************************************************************
function Is_Numeric(num)
{	var exp = new RegExp("^[0-9-.]*$","g");
	return exp.test(num);
}

//******************************************************************************
//Function: 	CheckUnCheck
//------------------------------------------------------------------------------
//Description: 	
//******************************************************************************
function CheckUnCheck(form, IsDisabled)
{   if (IsDisabled)
		form.couleur.checked = false;
	form.couleur.disabled = IsDisabled;
}

//******************************************************************************
//Function: 	verifycontact
//------------------------------------------------------------------------------
//Description: 	Cette fonction verifie que tous les champs sont remplis et retourne
//				le focus sur les non remplis
//******************************************************************************
function verifycontact(form)
{	ResetClassName(form);
	if (form.nomC.value == "")
	{	alert("Veuillez saisir un nom !");
		form.nomC.className = 'Error';
		form.nomC.focus();
		return false;
	}
	if (form.prenomC.value == "")
	{	alert("Veuillez saisir un prénom !");
		form.prenomC.className = 'Error';
		form.prenomC.focus();
		return false;
	}
	if (form.societeC.value == "")
	{	alert("Veuillez saisir un nom de société!");
		form.societeC.className = 'Error';
		form.societeC.focus();
		return false;
	}	
	if (form.telC.value == "")
	{	alert("Veuillez saisir un numéro de téléphone !");
		form.telC.className = 'Error';
		form.telC.focus();
		return false;
	}
	if (!Is_Numeric(form.telC.value))
	{	alert("'" + form.telC.value + "' n'est pas un numéro de téléphone valide.\nVeuillez re-saisir le numéro de téléphone.");
		form.telC.className = 'Error';
		form.telC.focus();
		return false
	}	
	if (form.adresseC.value == "")
	{	alert("Veuillez saisir une adresse !");
		form.adresseC.className = 'Error';
		form.adresseC.focus();
		return false;
	}	
	if (form.cpC.value == "")
	{	alert("Veuillez saisir un code postal !");
		form.cpC.className = 'Error';
		form.cpC.focus();
		return false;
	}
	if (!Is_Numeric(form.cpC.value))
	{	alert("'" + form.cpC.value + "' n'est pas un code postal valide.\nVeuillez re-saisir le code postal.");
		form.cpC.className = 'Error';
		form.cpC.focus();
		return false
	}	
	if (form.villeC.value == "")
	{	alert("Veuillez saisir une ville !");
		form.villeC.className = 'Error';
		form.villeC.focus();
		return false;
	}	
	if (form.paysC.value == "")
	{	alert("Veuillez saisir un pays !");
		form.paysC.className = 'Error';
		form.paysC.focus();
		return false;
	}
	if (form.emailC.value == "")
	{	alert("Veuillez saisir un email !");
		form.emailC.className = 'Error';
		form.emailC.focus();
		return false;
	}
	if (!CheckEmail(form.emailC.value))
	{	alert("Veuillez saisir une adresse e-mail du type 'contact@tacticom.fr'.\n'" + form.emailC.value + "' n'est pas valide.");
		form.emailC.className = 'Error';
		form.emailC.focus();
		return false;
	}
	
	return true;
}

//******************************************************************************
//Function: 	verifydevis
//------------------------------------------------------------------------------
//Description: 	Cette fonction verifie que tous les champs sont remplis et retourne
//				le focus sur les non remplis
//******************************************************************************
function verifydevis(form)
{	ResetClassName(form);
	if ((form.email.value != "") && (!CheckEmail(form.email.value)))
	{	alert("Veuillez saisir une adresse e-mail du type 'contact@tacticom.fr'.\n'" + form.email.value + "' n'est pas valide.");
		form.email.className = 'Error';
		form.email.focus();
		return(false);
	}
	if (form.model.value == 0)
	{	alert("Veuillez saisir un nombre de packs !");
		form.model.className = 'Error';
		form.model.focus();
		return false;
	}
	if (form.livnom.value == "")
	{	alert("Veuillez saisir un nom pour la livraison !");
		form.livnom.className = 'Error';
		form.livnom.focus();
		return false;
	}
	if (form.livprenom.value == "")
	{	alert("Veuillez saisir un prénom pour la livraison !");
		form.livprenom.className = 'Error';
		form.livprenom.focus();
		return false;
	}
	if (form.livlieux.value == "")
	{	alert("Veuillez saisir un lieux de livraison !");
		form.livlieux.className = 'Error';
		form.livlieux.focus();
		return false;
	}
	if (form.livcp.value == "")
	{	alert("Veuillez saisir un code postal pour la livraison !");
		form.livcp.className = 'Error';
		form.livcp.focus();
		return false;
	}
	if (form.livville.value == "")
	{	alert("Veuillez saisir une ville pour la livraison !");
		form.livville.className = 'Error';
		form.livville.focus();
		return false;
	}
	if (form.livpays.value == "")
	{	alert("Veuillez saisir un pays pour la livraison !");
		form.livpays.className = 'Error';
		form.livpays.focus();
		return false;
	}
	if (!form.Ckc_OK.checked)
	{	alert("ATTENTION :\nPour continuer, il faut lire et accepter les conditions générales de vente !");
		document.getElementById('CGV').className = 'Error';
		form.Ckc_OK.focus();
		return false;
	}
	
	return true;
}

//v3.0
function ImgRestore() 
{	var i,x,a=document.MM_sr; 
	for(i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) 
		x.src=x.oSrc;
}
//v4.01
function FindObj(n, d) {
	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 = FindObj(n,d.layers[i].document);
	if(!x && d.getElementById) 
		x = d.getElementById(n); 
	return x;
}
//v3.0
function SwapImage() 
{	var i, j = 0,x, a = SwapImage.arguments; 
	document.MM_sr=new Array; 
	for(i = 0; i < (a.length-2); i += 3)
   		if ( (x = FindObj(a[i])) != null )
		{	document.MM_sr[j++] = x; 
			if(!x.oSrc) x.oSrc = x.src; 
			x.src = a[i + 2];
		}
}

