// JavaScript Document
function affiche_formulaire(){
	var url="includes/ajax/recherche.php";
	post="code_postal="+document.getElementById("code_postal").value; 
	new Ajax.Request(url,   {     
		method:'post',
		postBody:post,
		onLoading : function(){

		},     
		onSuccess: function(res){
				if(res.responseText=="erreur"){
					 alert('Le code postal que vous avez saisi semble invalide');
					 document.getElementById("code_postal").select();
				}else{	
					if(document.getElementById("tableau_form").style.display=="none"){
						 Effect.toggle("tableau_form",'slide');
						 Effect.toggle("mentions",'slide');
					}
						 
					document.getElementById('id_ville').innerHTML=res.responseText;  //alert(res.responseText);
					document.getElementById('cp').value=document.getElementById("code_postal").value;
				}
		}
	});	
}

function maj_cp(ville){
	var url="includes/ajax/maj_cp.php";
	post="ville="+ville;  
	new Ajax.Request(url,   {     
		method:'post',
		postBody:post,
		onLoading : function(){

		},     
		onSuccess: function(res){
			if(res.responseText!="erreur")
				document.getElementById("cp").value=res.responseText;
		}
	});	
}

//-------------------------------
//???
function genereHavas(step){
	var axel = Math.random()+"";
	var a = axel * 10000000000000;
	var url;
	if(step==2) url='http://fls.doubleclick.net/activityi;src=2313891;type=mikit02;cat=conf02;ord='; else url='http://fls.doubleclick.net/activityi;src=2313891;type=mikit03;cat=gcdv03;ord=';
	var tag= url + a + '?';
	return tag;
}
function genereSrcIframe(step){
	var iframe;
	iframe = document.getElementById('tagHavas');
	var srcTag=genereHavas(step);
	iframe.src = srcTag;
}
//-------------------------------
function envoi_form(fichierTraitement,nextUrl)
{
	var_prenom=document.getElementById('prenom').value;
	var_nom=document.getElementById('nom').value;
	var_email=document.getElementById('email').value;
	var_email2=document.getElementById('email2').value;
	var_tel=document.getElementById('tel').value;
	var_cp=document.getElementById('cp').value;
	var_ville=document.getElementById('ville').value;
	var_source=document.getElementById('source').value;
	var_source=document.guide.source.value;

	if(document.getElementById('optin').checked) var_optin=0;
	else var_optin=1;
	
	if(!IsEmpty(var_cp))
	{
		if(IsObligat(var_nom))
		{
			if(IsTel(var_tel))
			{
				if(IsMail(var_email))
				{
					if(var_email==var_email2)
					{
						var url=fichierTraitement;
						post="prenom="+var_prenom+"&nom="+var_nom+"&tel="+var_tel+"&email="+var_email+"&cp="+var_cp+"&ville="+var_ville+"&optin="+var_optin+"&source="+var_source;
						new Ajax.Request(url,   {
							method:'post', 
							postBody:post,
							onLoading : function(){
								document.getElementById("html_bouton").innerHTML="<span class='rose'>Validation en cours...</span>";
							},     
							onSuccess: function(res){
								if(res.responseText=="ok")
								{
									document.location.href = nextUrl;
									//genereSrcIframe(2);				
									//document.getElementById("html_bouton").innerHTML='<P align="left"><span class="rose">Merci pour votre demande.<BR>Votre guide "10 conseils positifs pour vous changer la vie" va vous être envoyé par email très prochainement.<BR>Pour en savoir plus sur Mikit, cliquez ici <a href="http://www.mikit.fr" class="lien_rose" target="_blank">http://www.mikit.fr/</a></span></P>';
								}else{
									alert(res.responseText);
									document.getElementById("html_bouton").innerHTML='<p align="center"><a href="#" onclick="envoi_form();return false;"><img name="valider" id="id_valider" src="images/nouvelle_vie/btn_valider.gif" width="89" height="22" border="0" /></a></p>';
								}
							}
						});	
					}else{
						alert("L'email de confirmation ne correspond pas à l'email saisi.");
						document.getElementById('email').select();
					}	
				}else{
					alert("Merci de bien vouloir saisir un email valide, sous la forme suivante : nom@votredomaine.org.");
					document.getElementById('email').select();
				}	
			}else{
				alert("Merci de bien vouloir saisir un numéro de téléphone valide, sous la forme 0138189220.");
				document.getElementById('tel').select();
			}	
		}else{
			alert("L'information saisie dans le champs Nom n'est pas valide. Merci de la corriger.");
			document.getElementById('nom').select();
		}	
	}else{
		alert("Le code postal est obligatoire. Merci de bien vouloir le saisir.");
	}
}

function IsMail(mail){
	if(mail.length!=0) {
		// L'email est au format utilisateur@domaine 
		var sousChaine = mail.split("@");
		
		//Un seul arobas permis
		if (sousChaine.length != 2) {
			return false;
		}
		
		var utilisateur = sousChaine[0];
		var domaine = sousChaine[1];
		
		// Tester l'utilisateur est une chaine de plus de 0 caractères
		// et le domaine est une chaine de plus de 0 caractères
		if((utilisateur.length == 0) || (domaine.length == 0)){
			return false;
		}
		
		// Tester l'utilisateur est une chaine de 64 caractères maximum
		// et le domaine est une chaine de 255 caractères maximum
		if ( (utilisateur.length > 64) || (domaine.length > 255)) {
			return false;
		}

			var utilisateurTemp = utilisateur;
			utilisateurTemp = utilisateurTemp.replace(/([!#$%&'*+=-?^_`.{|}~\/])/g,"X");
			// Pour l'utilisateur : les caractères autorisés sont : a-z 0-9 ! # $ % & ' * + - / = ? ^_ `. { | } ~    
			if (!utilisateurTemp.match(/([!#$%&'*+=-?^_`.{|}~\/])/)){
				var reg = /^([a-zA-Z0-9]+)$/;
				if(!reg.test(utilisateurTemp)) {
					return false; // caractères non autorisés
				}
			}
			
			// Pour l'utilisateur : le point n'est pas autorisé en debut et en fin de nom
			if (utilisateur.substring(0,1) == "." || utilisateur.substring(utilisateur.length - 1,utilisateur.length) == ".") {
				return false;
			}
			
			// Deux points consécutifs ne peuvent être utilisés
			if (utilisateur.indexOf("..") != -1 || domaine.indexOf("..") != -1) {return $(this).twoPoints;}
			
			// Pour le domaine : les caractères autorisés sont : a-z 0-9 - _ .    
			var reg2 = /^([a-zA-Z0-9-_.]+)$/;
			if (!reg2.test(domaine)) { 
				return false; // domaine invalide
			}
			
			// Pour le domaine : le point n'est pas autorisé en debut et en fin de nom
			if (domaine.substring(0,1) == "." || domaine.substring(domaine.length - 1,domaine.length) == ".") {
				return false;
			}
			
			// Pour le domaine : au moins un point est exigé
			if (domaine.indexOf(".") == -1) { return false; }	
			
			else{
				return true;
			}
	} else {
	  return false; // champ vide
	}
};

function IsEmpty(string){
	return (string.trim()=='');
};

function IsTel(tel){
	var reg = /^0[1-9][0-9]{8}$/;
	if (!reg.test(tel)) return false; // tel invalide
	else return true;
};

function IsObligat(string){
	if(string.length <= 2 || !string.match(/([a-zA-Zàáâãäåçèéêëìíîïðòóôõöùúûüýÿ])/)) return false;
	else return true;
};

String.prototype.trim = function() {
	return this.replace(/^\s*|\s*$/g, "");
};
