	//GENERIQUE --------------------------------------------------------------------------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------------------------------------------------------------
	
	function MakeRequired(){

			if($(".required").length){
				$(".CanBeRemoved").remove();
				switch (this.type) {
					case 'radio':
					case 'checkbox':
						if($(this).is(':last-child')){
							$(".required").parent().find("label").append(" <strong class='red'>*</strong>");
						}
						break;
					default: 
						$(".required").parent().find("label").append(" <strong class='red'>*</strong>");
						break;
				}
			}
	}
	
	function MakeInputExemple(){
		if($("input.exemple").length){
				$("input.exemple").each(function(){
				if($(this).val()==""){
					$(this).addClass("ex").val($(this).attr("title"));
				}
				$(this).focus(function(){
				 if($(this).val()==$(this).attr("title"))
					$(this).removeClass("ex").val("");
					$(this).addClass("normal");
				});
				$(this).blur(function(){
				 if($(this).val()=="")
					$(this).addClass("ex").removeClass("normal").val($(this).attr("title"));
				});
			});
		}
	}
	
	function MakeInputToMaj(){
		if($("input.MAJUSCULE").length){
			$("input.MAJUSCULE").each(function(){						   
				$(this).change(function(){
					$(this).val($(this).val().toUpperCase());
				 });
			});
		}
	}
	
	function MakeInputToNomPropr(){
		if($("input.NOM_PROPRE").length){
			$("input.NOM_PROPRE").each(function(){						   
				$(this).change(function(){
					var st = "";
					var mots = new Array();
					mots = $(this).val().split(" ");
					for (var i in mots){
						st += " " + mots[i].charAt(0).toUpperCase() + mots[i].substring(1).toLowerCase();
					}
					$(this).val(st.substr(1));
				 });
			});
		}
	}
	
	function MakeInputToTestDate(){
		if($("input.TestDate").length){
			$("input.TestDate").each(function(){						   
				$(this).change(function(){
										
					 re = new RegExp("^[0-9]{2}/[0-9]{2}/[0-9]{4}$");
					 var OK = re.exec($(this).val());
					 if (!OK){
						var mesgErreur=new Array;
						mesgErreur["FR"]="La date doit etre a format JJ/MM/AAAA";
						mesgErreur["ES"]="El formato de fecha tiene que ser DD/MM/AAAA";
						mesgErreur["EN"]="Date format must be DD/MM/YYYY";
						mesgErreur["IT"]="La data deve essere un formato GG/MM/AAAA";
						mesgErreur["DE"]="Das Datum muss das Format TT/MM/JJJJ ";
						
						alert(mesgErreur[$('#lang').val()]);						
						$(this).val("");
						return false;
					 }
					 else{
						return true;
					 }
					
				 });
			});
		}
	}
	
	function MakeInputToTestTime(){
		if($("input.TestHeure").length){
			$("input.TestHeure").each(function(){						   
				$(this).change(function(){
										
					 re = new RegExp("^[0-9]{2}:[0-9]{2}$");
					 var OK = re.exec($(this).val());
					 if (!OK){
						if($('#lang').val()=='EN')	msg = "Time format must be HH:MM";
						else msg = "L'heure doit etre au format HH:MM";
						alert(msg);
						$(this).val("");
						return false;
					 }
					 else{
						return true;
					 }
					
				 });
			});
		}
	}
	
	function MakeInputToTestPhone(){
		if($("input.TestPhone").length){
			$("input.TestPhone").each(function(){						   
				$(this).change(function(){
										
					 re = new RegExp("^[0-9\+\(\)][0-9\. \-\(\)]+$");
					 var OK = re.exec($(this).val());
					 if (!OK){
	
						alert("Le numero de telephone n'est pas valide (chiffres et espaces, points ou tirets)");						
						$(this).val("");
						return false;
					 }
					 else{
						return true;
					 }
					
				 });
			});
		}
	}
	
	
	function MakeInputToTestEmail(){
		if($("input.TestEmail").length){
			$("input.TestEmail").each(function(){						   
				$(this).change(function(){
										
					 re = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,4}$");
					 var OK = re.exec($(this).val());
					 if (!OK){
						alert("L'adresse email n'est pas valide");
						$(this).val("");
						return false;
					 }
					 else{
						var st = "";
						var mots = new Array();
						mots = $(this).val().split(" ");
						for (var i in mots){
							st += " " + mots[i].charAt(0).toLowerCase() + mots[i].substring(1).toLowerCase();
						}
						$(this).val(st.substr(1));
						return true;
					 }
					
				 });
			});
		}
	}
	
	
//	function MakeBtnToValidAndTest(){
//		if($(".btn").length){
//		
//			$(".btn").click(function () { 
//				
//				var msgErreur = "Merci de renseigner les champs obligatoires\n\n";
//				var errors=0;
//				var color_off = "#FFFFFF";
//				var color_on = "#FFCCCC";
//				
//				$(".required").each(function(){
//											 
//					$(this).parent().removeClass("required_alert");
//		
//				});
//				
//				$("input").each(function(){
//										 
//					if($(this).val()==$(this).attr("title")) {
//						$(this).val("");
//					}		
//					
//				});
//				
//				
//				$(".required").each(function(){
//					
//					
//					if(!$(this).parents().hasClass("invisible")){
//					
//						switch (this.type) {
//							
//							
//							case 'radio':
//							case 'checkbox':
//							
//								if($('input[name=' + $(this).attr('name') + ']:checked').length == 0){		
//								
//									errors++;
//									if($(this).is(':last-child')){
//										if($(this).parent().find("label:first").text()!="") {
//											msgErreur += "- " + $(this).parent().find("label:first").text() + "\n";
//										}
//									}
//									$(this).parent().addClass("required_alert");
//								}
//							
//								break;
//							
//							default: 
//								if(this.value == "") {
//									errors++;
//									if($(this).parent().find("label").text()!="") {
//										msgErreur += "- " + $(this).parent().find("label:first").text() + "\n";
//									}
//									$(this).parent().addClass("required_alert");
//									
//								}
//								break;
//						}
//					}
//					
//				});
//				
////				// TEST SI CHECKBOX MARCHE COCHEES
////				if($("input.codeMarche").length){
////					
////					if($("input.codeMarche:checked").length==0){
////						errors++;
////						if($("input.codeMarche").parent().find("label").text()!="") {
////							msgErreur += "- " + $("input.codeMarche").parent().find("label").text() + "\n";
////						}
////						$("input.codeMarche").parent().addClass("required_alert");
////					}
////				}								
////
////				// TEST SI CHECKBOX OBJECTIF COCHEES
////				if($("input.codeObjectif").length){
////					
////					if($("input.codeObjectif:checked").length==0){
////						errors++;
////						if($("input.codeObjectif").parent().find("label").text()!="") {
////							msgErreur += "- " + $("input.codeObjectif").parent().find("label").text() + "\n";
////						}
////						$("input.codeObjectif").parent().addClass("required_alert");
////					}
////				}								
//
//
//
//				if(errors!=0){
//					alert(msgErreur);
//				}
//				else{
//					if($("#email").length){
//						var testEmail = MakeTestEmailIdentique();
//						if(testEmail){
//							$(this).parents('form:first').submit();
//						}
//					} else {
//							$(this).parents('form:first').submit();
//					}
//				}
//				
//			});
//		}
//	}
//	


	function MakeBtnToValidAndTest(){
		if($(".btn").length){
		
			$(".btn").click(function () { 
									  
				if($(".HighLight").length){
					$(".HighLight").fadeOut('slow');
				}			  
				
				if($('#lang').val()=='EN'){
					var msgErreur = "Please fill following required fields\n\n";
				} else {
					var msgErreur = "Merci de renseigner les champs obligatoires\n\n";
				}
				var errors=0;
				var color_off = "#FFFFFF";
				var color_on = "#FFCCCC";
				
				$(".required").each(function(){
											 
					$(this).parent().removeClass("required_alert");
		
				});
				
				$("input").each(function(){
										 
					if($(this).val()==$(this).attr("title")) {
						$(this).val("");
					}		
					
				});
				
				$(".required").each(function(){
					
					if(!$(this).parents().hasClass("invisible")){
					
						switch ($(this).attr('type')) {
							
							case 'radio':
								if($('input[name=' + $(this).attr('name') + ']:checked').length == 0){
									errors++;
									if($(this).is(':last-child')){
										if($(this).parent().find("label:first").text()!="") {
											msgErreur += "- " + $(this).parent().find("label:first").text() + "\n";
										}
									}
									$(this).parent().addClass("required_alert");
								}
								break;

							case 'checkbox':						
								if($('input[name^=' + $(this).attr('name').replace("[]", "") + ']:checked').length == 0){
									errors++;
									if($(this).is(':last-child')){
										if($(this).parent().find("label:first").text()!="") {
											msgErreur += "- " + $(this).parent().find("label:first").text() + "\n";
										}
									}
									$(this).parent().addClass("required_alert");
								}
								break;
								
							default: 
								if(this.value == "") {
									errors++;
									if($(this).parent().find("label").text()!="") {
										msgErreur += "- " + $(this).parent().find("label:first").text() + "\n";
									}
									$(this).parent().addClass("required_alert");
									
								}
								break;
						}
					}
					
				});
				
				if(errors!=0){
					alert(msgErreur);
				}
				else{
					if($("#email").length){
						var testEmail = MakeTestEmailIdentique();
						if(testEmail){
							$(this).parents('form:first').submit();
						}
					} else {
							$(this).parents('form:first').submit();
					}
				}
				
			});
		}
	}



	function MakeTestEmailDoublon(){
			/* TEST EMAIL DOUBLON */
			var returnVal=true;								
			if($(".TestAjaxEmail").length>0){
		
					$.ajax({
					   type: "POST",
					   url: "../Ajax/emaildoublon.php",
					   data: "email=" + $("#Email").val(),
					   async: false,
					   success: function(msg){
						   if(msg == "1"){
							   	returnVal=false;
								$('#emailError').fadeIn('fast')
								setTimeout(function() {$("#emailError").fadeOut('fast')},2000);
								$("#Email").val("");
								$("#Email").addClass("required_alert");
							} else {
							   	returnVal=true;
							}
						 
						}
					});
				 
			} else {
				returnVal=true;	
			}
		 return returnVal;
		
	}
	
	function MakeTestEmailIdentique(){
		if($("#email").length){
			testEmail = ImageEmail();
			if(!testEmail){
				if($('#lang').val()=='EN'){
					var msgErreur = "Your confirmation email differ of your email";
				} else {
					var msgErreur = "L'email de confirmation n'est pas identique à votre email";
				}
				alert(msgErreur);
			}
			return testEmail;
		}

	}
	
	function MakeFormAction(){
		MakeRequired();
		MakeInputExemple();
		MakeInputToMaj();
		MakeInputToNomPropr();
		MakeInputToTestDate();
		MakeInputToTestTime();
		MakeInputToTestPhone();
		MakeInputToTestEmail();
		MakeBtnToValidAndTest();
	}
	
	
