var LoadImages;
var Annee;
var Back_Slach;
var Bis;
var champ;
var Champs_Type;
var Code_Postal;
var compteur;
var Decime_Dispo;
var Err;
var erreur;
var Espace;
var Espace_Val;
var Guill;
var Guill_Val;
var i;
var indPoint;
var Java_End;
var jour;
var LaChaine;
var Longueur;
var Longueur_String;
var Max_Fev;
var Max_Jours;
var Mois;
var nbr;
var Nombre;
var Nombre_Dec;
var Nombre_Str;
var Nombre_Vbs_Str;
var Point;
var posArobase;
var Position_Rep_String;
var Position_String;
var posPoint;
var Pourcent;
var Pourcent_Val;
var v;
var Val;
var Val_Nom;
var Valeur_String;
var Vbs_D;
var Vbs_F;
var virgule;
var y;

function Nombre_Decime(Valeur_Nombre)
{
	Nombre_Dec = Valeur_Nombre;
	Nombre_Dec = Nombre_Dec*(Math.pow(10,2));
	Nombre_Dec = Math.round(Nombre_Dec);
	Nombre_Dec = Nombre_Dec/(Math.pow(10,2));
	Nombre_Str = Nombre_Dec.toString();
	Longueur = Nombre_Str.length;
	indPoint = Nombre_Str.indexOf(".");
	if(indPoint == -1)
	{
		Nombre_Str = Nombre_Str + ".00";
		Nombre_Vbs_Str = Nombre_Str;				
	}
	else
	{
		Decime_Dispo = Longueur - indPoint;
		if(Decime_Dispo == 2)
		{
			Nombre_Str = Nombre_Str + "0";	
		}
		indPoint = indPoint + 1
		Vbs_D = Nombre_Str.slice(0,-3)
		Vbs_F = Nombre_Str.substr(indPoint,2)
		Nombre_Vbs_Str = Vbs_D + "," + Vbs_F
	}
}

function Valide_Lettre(Valeur_Lettre)
{
	Java_End = "Zut";

	switch (Valeur_Lettre)
	{
		case "a" :
			Java_End = "a";
			break;
		case "b" :
			Java_End = "b";
			break;
		case "c" :
			Java_End = "c";
			break;
		case "d" :
			Java_End = "d";
			break;
		case "e" :
			Java_End = "e";
			break;
		case "f" :
			Java_End = "f";
			break;
		case "g" :
			Java_End = "g";
			break;
		case "h" :
			Java_End = "h";
			break;
		case "i" :
			Java_End = "i";
			break;
		case "j" :
			Java_End = "j";
			break;
		case "k" :
			Java_End = "k";
			break;
		case "l" :
			Java_End = "l";
			break;
		case "m" :
			Java_End = "m";
			break;
		case "n" :
			Java_End = "n";
			break;
		case "o" :
			Java_End = "o";
			break;
		case "p" :
			Java_End = "p";
			break;
		case "q" :
			Java_End = "q";
			break;
		case "r" :
			Java_End = "r";
			break;
		case "s" :
			Java_End = "s";
			break;
		case "t" :
			Java_End = "t";
			break;
		case "u" :
			Java_End = "u";
			break;
		case "v" :
			Java_End = "v";
			break;
		case "w" :
			Java_End = "w";
			break;
		case "x" :
			Java_End = "x";
			break;
		case "y" :
			Java_End = "y";
			break;
		case "z" :
			Java_End = "z";
			break;
		default :
			Java_End = "Zut";
			break;
	}
	
	if (Java_End != "Zut")
	{
		return true;
	}
	else
	{
		return false;
	}
}

function Valide_Carateres(valeur_Chaine)
{
	Err = 0;
	Guill_Val = String.fromCharCode (34);
	Pourcent_Val = String.fromCharCode (37);
			
	Guill=valeur_Chaine.indexOf(Guill_Val);
	Pourcent=valeur_Chaine.indexOf(Pourcent_Val);
		
	if (Guill != -1)
	{	  		
		Err = 1;			
	}
	if (Pourcent != -1)
	{  				
		Err = 1;			
	}
	if (Err == 0)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function Valide_Entier(valeur_Int)
{		
	Espace_Val = String.fromCharCode (32);
	
	if (isNaN(valeur_Int) == true)
 	{
  		return false;
 	}
 	else 
	{			
		Point=valeur_Int.indexOf(".");
		virgule=valeur_Int.indexOf(",");
		Espace=valeur_Int.indexOf(Espace_Val);		
		if ((virgule != -1)||(Point != -1)||(Espace != -1))
		{		
  			return false;			
		}
		else 
		{	
			return true;	
		}
	}
}

function Valide_Date(valeur)
{	
	erreur=0;
	Valeur_Date = valeur;
	if (Valeur_Date.length == 10)
	{
		indSep1 = Valeur_Date.indexOf("/");
		indSep2 = Valeur_Date.lastIndexOf("/");	
		if ((indSep1 != -1) && (indSep1 != indSep2))
		{
			Jour = Valeur_Date.substring(0, indSep1);
			Mois = Valeur_Date.substring(indSep1 + 1, indSep2);
			Annee = Valeur_Date.substr(indSep2 + 1);
			
			if ((Jour < 1) || (Jour > 31))
			{
			 	erreur = 1;
			}
			else
			{
				if ((!Valide_Entier(Jour)) || (Jour.length != 2)) erreur = 1;
			}
			
			if ((Mois < 1) || (Mois > 12))
			{
			 	erreur = 1;
			}
			else
			{
				if ((!Valide_Entier(Mois)) || (Mois.length != 2)) erreur = 1;
			}
			
			
			if ((!Valide_Entier(Annee)) || (Annee.length != 4)) erreur = 1;

			Bis = Annee % 4;
			if (Bis == 0)
			{
				Max_Fev = 29;
			}
			else
			{
				Max_Fev = 28;
			}
				Max_Jours = new Array(31, Max_Fev, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
			if (Jour > Max_Jours[Mois - 1]) erreur = 1
			if (erreur == 0) return true;
			else return false;
		}
		else 
		{
			erreur = 1;
		}
	}
	else
	{
		erreur = 1;
	}
	if (erreur == 0) return true;
	return false;	
}

function Valide_Numerique(valeur_Float)
{
	//valeurUS = valeur_Float.replace(",",".");
	valeurUS = valeur_Float;
	if(valeurUS == parseFloat(valeurUS)) return true;
	else return false;	 		
}

function Valide_Radio(nomForm, nomGroupe)
{
	compteur = 0;
	while (compteur < nomForm.elements[nomGroupe].length)
	{
		if(nomForm.elements[nomGroupe][compteur].checked) return true;
		compteur ++;
	}
	return false;
}


function Valide_Mail(email)
{	
	posArobase=email.indexOf("@");
	if(posArobase == -1) return false;	
		posPoint=email.lastIndexOf(".");
	if((posPoint == -1) || (posPoint < posArobase)) return false;
	return true;
}

function Valide_Obligatoire(nom)
{
	if(nom.lastIndexOf("R")==nom.length-2) return true;
	return false;
}

function Valide_Champs(nomForm)
{
 	champ=nomForm.elements;
	nbr=champ.length;	
	i=0;	
	while (i < nbr)
	{		
		Champs_Type=champ[i].type.substring(0,3);						
		switch (Champs_Type)
		{
			case "tex" :
				if (Valide_Obligatoire(champ[i].name))
				{
					if (champ[i].value=="")
					{
						window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] doit être renseigné.");
						champ[i].focus();
						return false;
					}	
				}
				switch (champ[i].name.substr(champ[i].name.length-1))
				{
					case "T" :
						if (!Valide_Carateres(champ[i].value))
						{
							window.alert ("Les caractères [ \' ], [ \" ] et [ \% ] ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
							champ[i].focus();
							return false;
						}
						break;
					case "1" :						
						Nombre = 201;
						if (champ[i].value.length < Nombre)
						{
							if (!Valide_Carateres(champ[i].value))
							{
								window.alert ("Les caractères [ \' ], [ \" ] et [ \% ] ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
								champ[i].focus();
								return false;
							}
						}
						else
						{
							Nombre = Nombre - 1;
							champ[i].value=champ[i].value.substring(0,Nombre);							
							window.alert ("Un maximum de "+Nombre+" caractères est permis pour le champ [ "+champ[i].name.slice(0,-10)+" ].\rNB: (Un espace = un caractère) et (Un saut de ligne = deux caractères)");
							champ[i].focus();
							//document.write(champ[i].value)
							return false;
						}
						break;
					case "2" :						
						Nombre = 401;
						if (champ[i].value.length < Nombre)
						{
							if (!Valide_Carateres(champ[i].value))
							{
								window.alert ("Les caractères [ \' ], [ \" ] et [ \% ] ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
								champ[i].focus();
								return false;
							}
						}
						else
						{
							Nombre = Nombre - 1;
							champ[i].value=champ[i].value.substring(0,Nombre);							
							window.alert ("Un maximum de "+Nombre+" caractères est permis pour le champ [ "+champ[i].name.slice(0,-10)+" ].\rNB: (Un espace = un caractère) et (Un saut de ligne = deux caractères)");
							champ[i].focus();
							//document.write(champ[i].value)
							return false;
						}
						break;
					case "8" :						
						Nombre = 801;
						if (champ[i].value.length < Nombre)
						{
							if (!Valide_Carateres(champ[i].value))
							{
								window.alert ("Les caractères [ \' ], [ \" ] et [ \% ] ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
								champ[i].focus();
								return false;
							}
						}
						else
						{
							Nombre = Nombre - 1;
							champ[i].value=champ[i].value.substring(0,Nombre);							
							window.alert ("Un maximum de "+Nombre+" caractères est permis pour le champ [ "+champ[i].name.slice(0,-10)+" ].\rNB: (Un espace = un caractère) et (Un saut de ligne = deux caractères)");
							champ[i].focus();
							//document.write(champ[i].value)
							return false;
						}
						break;
					case "P" :						
						v = i;
						y = 1;						
						Err = 0;
						Val_Nom = champ[i].name;						
						if (champ[i].value !="")						
						{
							Val = champ[i].value;
							Val=Val.toLowerCase();
							while (y<7)
							{
								switch (y)
								{
									case 1 :
										Code_Postal=Val.charAt(0);										
										if(!Valide_Lettre(Code_Postal))
										{
											y = 7;
											Err = 1;													
										}										
										break;
									case 2 :										
										Code_Postal=Val.charAt(1);										
										if(!Valide_Entier(Code_Postal))
										{
											y = 7;
											Err = 1;													
										}											
										break;
									case 3 :										
										Code_Postal=Val.charAt(2);										 										
										if(!Valide_Lettre(Code_Postal)) 
										{
											y = 7;
											Err = 1;													
										}									
										break;
									case 4 :
										Code_Postal=Val.charAt(3);										
										if(!Valide_Entier(Code_Postal))
										{
											y = 7;
											Err = 1;													
										}											
										break;
									case 5 :
										Code_Postal=Val.charAt(4);										
										if(!Valide_Lettre(Code_Postal))
										{
											y = 7;
											Err = 1;													
										}											
										break;
									case 6 :
										Code_Postal=Val.charAt(5);										
										if(!Valide_Entier(Code_Postal))
										{
											y = 7;
											Err = 1;													
										}									
										break;																	
								}
							y=y+1;										
							}
							if (Err == 1)
							{
								window.alert ("le format de code postal n est pas valide dans le champ [ "+Val_Nom.slice(0,-10)+" ],\r veuilliez vérifier. ");
								champ[v].focus();
								return false;
							}							
						}
						break;
					case "N" :
						if (!Valide_Numerique(champ[i].value))
						{
							window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] doit être un nombre.");
							champ[i].value="";
							champ[i].focus();
							return false;
						}
						break;
					case "E" :
						if (!Valide_Entier(champ[i].value))
						{
							window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] doit être un nombre entier.");
							champ[i].value="";
							champ[i].focus();
							return false;
						}
						break;
					case "M" :
						if (!Valide_Carateres(champ[i].value))
						{
							window.alert ("Les caractères  [ \' ], [ \" ] et [ \% ]  ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
							champ[i].focus();
							return false;
						}
						else
						{
							if (champ[i].value!="")
							{
								if (!Valide_Mail(champ[i].value))
								{
									window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] n est pas une adresse valide. Ex : nom@domaine.com");
									champ[i].value="";
									champ[i].focus();
									return false;
								}
							}
						}
						break;
					case "D" :						
						if (!Valide_Date(champ[i].value))
						{
							window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] n est pas dans le bon format de date, Ex: jj/mm/aaaa");
							champ[i].value="";
							champ[i].focus();
							return false;
						}
						break;
					default :
						break;
				}
				break;
			case "pas" :
				if (champ[i].value=="")
				{
					window.alert ("Le champ [ "+champ[i].name.slice(0,-10)+ " ] doit être renseigné.");
					champ[i].focus();
					return false;
				}
				else
				{
					if (!Valide_Carateres(champ[i].value))
					{
						window.alert ("Les caractères [ \' ], [ \" ] et [ \% ] ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
						champ[i].focus();
						return false;
					}	
				}
				break;
			case "sel" :
				if ((Valide_Obligatoire(champ[i].name)) && (champ[i].options[champ[i].selectedIndex].value=="Null")) 
				{
					window.alert ("Veuilliez sélectionner une option valide pour le champs [ "+champ[i].name.slice(0,-10)+" ].");
					champ[i].focus();
					return false;
				}
				break;
			case "rad" :
				if ((Valide_Obligatoire(champ[i].name)) && (!Valide_Radio(nomForm, champ[i].name))) 
				{
					window.alert ("Les champs radio [ "+champ[i].name.slice(0,-10)+" ] ne sont pas renseignés comme il se doit");
					champ[i].focus();
					return false;
				}
				break;
			case "che" :
				if ((Valide_Obligatoire(champ[i].name)) && (!champ[i].checked)) 
				{
					window.alert ("La case à cocher [ "+champ[i].name.slice(0,-10)+" ] doit être validée.");
					champ[i].focus();
					return false;
				}
				break;
			case "fil" :
				if (Valide_Obligatoire(champ[i].name))
				{
					if (!Valide_Carateres(champ[i].value))
					{
						window.alert ("Les caractères  [ \' ], [ \" ] et [ \% ]  ne sont pas permis dans le champ [ "+champ[i].name.slice(0,-10)+" ].");
						champ[i].focus();
						return false;
					}
					else
					{	
						Valeur_String = champ[i].value;							
						Valeur_String = Valeur_String.toLowerCase();
						Longueur_String = Valeur_String.length;
						Back_Slach = String.fromCharCode (92);
						Position_Rep_String = Valeur_String.lastIndexOf(Back_Slach) + 1;
						if (champ[i].name == "Logo_XXXXXXXRT")
						{
							if (champ[i].value != "")
							{								
								Position_String = Longueur_String - 8;
								if (Position_String == Position_Rep_String)
								{	
									Valeur_String = Valeur_String.substr(Position_String,8);
									if (Valeur_String != "logo.gif")
									{
										window.alert ("Le nom de votre logo doit se nommer (Logo.gif) et non [ " + Valeur_String + " ]\nVeuilliez vérifier votre syntaxe.");
										champ[i].value="";
										champ[i].focus();
										return false;
									}
								}
								else
								{
									window.alert ("Le nom du logo doit se nommer (Logo.gif)\nVeuilliez vérifier votre syntaxe.");
									champ[i].value="";
									champ[i].focus();
									return false;
								}
							}
						}
						if (champ[i].name == "Photo1_XXXXXXXRT")
						{
							if (champ[i].value != "")
							{
								Position_String = Longueur_String - 10;
								if (Position_String == Position_Rep_String)
								{
									Valeur_String = Valeur_String.substr(Position_String,10);
									if (Valeur_String != "photo1.jpg")
									{
										window.alert ("Le nom de la première photo doit se nommer (Photo1.jpg) et non [ " + Valeur_String + " ]\nVeuilliez vérifier votre syntaxe.");
										champ[i].value="";
										champ[i].focus();
										return false;
									}
								}
								else
								{
									window.alert ("Le nom de la première photo doit se nommer (Photo1.jpg)\nVeuilliez vérifier votre syntaxe.");
									champ[i].value="";
									champ[i].focus();
									return false;
								}
							}
						}
						if (champ[i].name == "Photo2_XXXXXXXRT")
						{
							if (champ[i].value != "")
							{
								Position_String = Longueur_String - 10;
								if (Position_String == Position_Rep_String)
								{
									Valeur_String = Valeur_String.substr(Position_String,10);
									if (Valeur_String != "photo2.jpg")
									{
										window.alert ("Le nom de la deuxième photo doit se nommer (Photo2.jpg) et non [" + Valeur_String + "]\nVeuilliez vérifier votre syntaxe.");
										champ[i].value="";
										champ[i].focus();
										return false;
									}
								}
								else
								{
									window.alert ("Le nom de la deuxième photo doit se nommer (Photo2.jpg)\nVeuilliez vérifier votre syntaxe.");
									champ[i].value="";
									champ[i].focus();
									return false;
								}
							}
						}
						if (champ[i].name == "Photo3_XXXXXXXRT")
						{
							if (champ[i].value != "")
							{
								Position_String = Longueur_String - 10;
								if (Position_String == Position_Rep_String)
								{
									Valeur_String = Valeur_String.substr(Position_String,10);
									if (Valeur_String != "photo3.jpg")
									{
										window.alert ("Le nom de la troisième photo doit se nommer (Photo3.jpg) et non [" + Valeur_String + "]\nVeuilliez vérifier votre syntaxe.");
										champ[i].value="";
										champ[i].focus();
										return false;
									}
								}
								else
								{
									window.alert ("Le nom de la troisième photo doit se nommer (Photo3.jpg)\nVeuilliez vérifier votre syntaxe.");
									champ[i].value="";
									champ[i].focus();
									return false;
								}
							}															
						}
					}
				}	
				break;
			default :
				break;
		}
	i++
	}
	return true;
}


