function carnetVoyageInit() {
	var ladate = new Date();
	var url = pathSite+"inc/carnet_de_voyage_check_session.asp";
	url += "?anticache="+ladate.getTime();
	
	var myAjax = new Ajax.Request(
		url,
		{
			asynchronous: true,
			onSuccess: function(transport) {
				if (isNaN(parseInt(transport.responseText))) carnetVoyageFormInit();
				else carnetVoyageListe();
			}, 
			onFailure: function(transport) {}
		});
}

function carnetVoyageFormInit() {
	$('carnetVoyageFormulaires').removeClassName('displayNone');

	carnetVoyageDejaInit();
	carnetVoyageCreationInit();
}

function carnetVoyageDejaInit() {
	$$('a.oubli-mdp-link').invoke('OubliMdpLinkListen');
}

function carnetVoyageCreationInit() {
	var form = document.carnetVoyageCreationForm;
	var sens = $F('util_sens');
	var lang = $F('util_lang');
	
	$('util_civilite').selectedIndex = 0;
	$('util_nom').clear();
	$('util_prenom').clear();
	$('util_email').clear();
	$('util_email_bis').clear();
	$('util_mdp').clear();
	$('util_mdp_bis').clear();
	
	var index_pays = (sens == "france_suisse") ? 0 : 1;
	form.util_pays[index_pays].checked = true;
	
	var index_langue = (lang == "FR") ? 0 : ((lang == "DE") ? 1 : 2);
	form.util_langue[index_langue].checked = true;
	
	form.util_abo_newsletter[0].checked = false;
	form.util_abo_newsletter[1].checked = false;
}

function carnetVoyageCreationSubmit() {
	var form = document.carnetVoyageCreationForm;
	var urlReferer = $F('urlReferer');
	
	var reg_mdp = /^[a-zA-Z0-9]{6,}$/;
	var verif_mdp = reg_mdp.test($F('util_mdp'));
	
	var reg_email = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([a-zA-Z0-9-]{2,}[.])+[a-zA-Z]{2,}$/;
	var verif_email = reg_email.test($F('util_email'));
	
	switch (global_lang) {
		case 'EN':
			var msgEmailBadFormat = "Your e-mail does not have the correct format.";
			var msgEmailBadConfirmation = "The confirmation of your email is not correct.";
			var msgMdpBadFormat = "Votre mot de passe n'a pas le bon format.";
			var msgMdpBadConfirmation = "La confirmation de votre mot de passe n'est pas correcte.";
			var msgMatter = "Operation momentarily impossible.";
			var msgDonneesPersos = "Thank you to specify whether you agree that your data are communicated to our partners.";
			break;
		case 'DE':
			var msgEmailBadFormat = "Ihre E-Mail hat nicht das richtige Format";
			var msgEmailBadConfirmation = "Die Best&auml;tigung Ihrer E-Mail ist nicht korrekt.";
			var msgMdpBadFormat = "Votre mot de passe n'a pas le bon format.";
			var msgMdpBadConfirmation = "La confirmation de votre mot de passe n'est pas correcte.";
			var msgMatter = "Operation momentan nicht m&ouml;glich.";
			var msgDonneesPersos = "Vielen Dank, dass Sie festlegen, ob Sie damit einverstanden, dass Ihre Daten werden an unsere Partner.";
			break;
		default:
			var msgEmailBadFormat = "Votre email n'a pas le bon format.";
			var msgEmailBadConfirmation = "La confirmation de votre email n'est pas correcte.";
			var msgMdpBadFormat = "Votre mot de passe doit &ecirc;tre compos&eacute; d'au moins 6 caract&egrave;res.\nCaract&egrave;res ponctu&eacute;s et sp&eacute;ciaux ne sont pas autoris&eacute;s.";
			var msgMdpBadConfirmation = "La confirmation de votre mot de passe n'est pas correcte.";
			var msgMatter = "Op&eacute;ration momentan&eacute;ment impossible.";
			var msgDonneesPersos = "Merci de pr&eacute;ciser si vous acceptez de recevoir des bons plans de TGV Lyria.";
	}
	
	var util_pays_val;
	var elmts = form.util_pays;
	for (i=0; i<elmts.length; i++) {
		if (elmts[i].checked) {
			util_pays_val = elmts[i].value;
			break;
		}
	}
	
	var util_langue_val;
	var elmts = form.util_langue;
	for (i=0; i<elmts.length; i++) {
		if (elmts[i].checked) {
			util_langue_val = elmts[i].value;
			break;
		}
	}
	
	var util_abo_newsletter_val = "";
	var elmts = form.util_abo_newsletter;
	for (i=0; i<elmts.length; i++) {
		if (elmts[i].checked) {
			util_abo_newsletter_val = elmts[i].value;
			break;
		}
	}
	
	if (!verif_email) {
		alerte(msgEmailBadFormat);
		$('util_email').focus();
	}
	else if ($F('util_email') != $F('util_email_bis')) {
		alerte(msgEmailBadConfirmation);
		$('util_email_bis').clear();
		$('util_email_bis').focus();
	}
	else if (!verif_mdp) {
		alerte(msgMdpBadFormat);
		$('util_mdp').focus();
	}
	else if ($F('util_mdp') != $F('util_mdp_bis')) {
		alerte(msgMdpBadConfirmation);
		$('util_mdp_bis').clear();
		$('util_mdp_bis').focus();
	}
	else if (util_abo_newsletter_val == "") {
		alerte(msgDonneesPersos);
	}
	else {
		var ladate = new Date();
		var url = pathSite+"inc/carnet_de_voyage_creation_ok.asp";
 		url += "?anticache="+ladate.getTime();
		
		switchElmt('carnetVoyageCreationForm_submit', 'carnetVoyageCreationForm_loader');
		
		var myAjax = new Ajax.Request(
			url,
			{
				method: 'post',
				asynchronous: true,
				contentType:  'application/x-www-form-urlencoded',
				encoding:     'UTF-8',
				parameters: {
					util_civilite : $F('util_civilite'),
					util_nom : $F('util_nom'),
					util_prenom : $F('util_prenom'),
					util_email : $F('util_email'),
					util_email_bis : $F('util_email_bis'),
					util_mdp : $F('util_mdp'),
					util_mdp_bis : $F('util_mdp_bis'),
					util_pays : util_pays_val,
					util_langue : util_langue_val,
					util_abo_newsletter : util_abo_newsletter_val,
					urlReferer : urlReferer
				},
				onSuccess: function(transport) {
					// alert(transport.responseText);
					if (parseInt(transport.responseText) > 0) {
						alerte(msgMatter);
						switchElmt('carnetVoyageCreationForm_loader', 'carnetVoyageCreationForm_submit');
					}
					else {
						new Effect.BlindUp('carnetVoyageFormulaires', {duration:0.5, beforeStart: function() { }, afterFinish: function() { new Effect.BlindDown('carnetVoyageBravo', {duration:0.5, beforeStart: function() { }, afterFinish: function() { }}); }});
						
						var num = getQuerystring('num');
						
						if (!(isNaN(parseInt(num)))) {
							var params = {num : num, lang : global_lang, urlReferer : urlReferer}
							
							url = pathSite+'inc/carnet_de_voyage_ajout.asp';
							url += '?anticache='+ladate.getTime();
							
							Modalbox.show(url, {title: 'Modalbox', overlayClose: false, width: 600, method: 'post', params:params, afterLoad: function() { Event.observe($('popup_fermer'), 'click', function() { Modalbox.hide(); }); }, beforeHide: function() { }, afterHide: function() { }});
						}
					}
				}, 
				onFailure: function(transport) {
					// alert(transport.responseText);
					alerte(msgMatter);
					switchElmt('carnetVoyageCreationForm_loader', 'carnetVoyageCreationForm_submit');
				}
			});
	}
	
	return false;
}

function carnetVoyageDejaInscritSubmit() {
	var form = document.carnetVoyageDejaInscritForm;
	var urlReferer = $F('urlReferer');
	
	var reg_email = /^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*@([a-zA-Z0-9-]{2,}[.])+[a-zA-Z]{2,}$/;
	var verif_email = reg_email.test($F('util_email_deja'));
	
	switch (global_lang) {
		case 'EN':
			var msgEmailBadFormat = "Your e-mail does not have the correct format.";
			var msgMatter = "Operation momentarily impossible.";
    		var msgNoCarnet = "D&eacute;sol&eacute; mais il semble que vous ne disposez pas de carnet de voyage !"
			break;
		case 'DE':
			var msgEmailBadFormat = "Ihre E-Mail hat nicht das richtige Format";
			var msgMatter = "Operation momentan nicht m&ouml;glich.";
    		var msgNoCarnet = "D&eacute;sol&eacute; mais il semble que vous ne disposez pas de carnet de voyage !"
			break;
		default:
			var msgEmailBadFormat = "Votre email n'a pas le bon format.";
			var msgMatter = "Op&eacute;ration momentan&eacute;ment impossible.";
    		var msgNoCarnet = "D&eacute;sol&eacute; mais il semble que vous ne disposez pas de carnet de voyage !"
	}
	
	if (!verif_email) {
		alerte(msgEmailBadFormat);
		$('util_email_deja').focus();
	}
	else {
		var ladate = new Date();
		var url = pathSite+"inc/carnet_de_voyage_identification.asp";
 		url += "?anticache="+ladate.getTime();
		
		switchElmt('carnetVoyageDejaInscritForm_submit', 'carnetVoyageDejaInscritForm_loader');
		
		var myAjax = new Ajax.Request(
			url,
			{
				method: 'post',
				asynchronous: true,
				contentType:  'application/x-www-form-urlencoded',
				encoding:     'UTF-8',
				parameters: {
					util_email : $F('util_email_deja'),
					util_mdp : $F('util_mdp_deja'),
					urlReferer : urlReferer
				},
				onSuccess: function(transport) {
					// alert(transport.responseText);
					var dataError = parseInt(transport.responseText);
					
					if (dataError > 0) {
						var msgRetour = (dataError == 2) ? msgNoCarnet : msgMatter;
						
						alerte(msgRetour);
						switchElmt('carnetVoyageDejaInscritForm_loader', 'carnetVoyageDejaInscritForm_submit');
					}
					else {
						var num = getQuerystring('num');
						
						if (!(num)) location.reload();
						else {
							var params = {num : num, lang : global_lang, urlReferer : urlReferer}
							
							url = pathSite+'inc/carnet_de_voyage_ajout.asp';
							url += '?anticache='+ladate.getTime();
							
							var url_retour = window.location.href.split("?")[0];
							
							Modalbox.show(url, {title: 'Modalbox', overlayClose: false, width: 600, method: 'post', params:params, afterLoad: function() { Event.observe($('popup_fermer'), 'click', function() { Modalbox.hide(); }); }, beforeHide: function() { }, afterHide: function() { window.location.href = url_retour; }});
						}
					}
				}, 
				onFailure: function(transport) {
					// alert(transport.responseText);
					alerte(msgMatter);
					switchElmt('carnetVoyageDejaInscritForm_loader', 'carnetVoyageDejaInscritForm_submit');
				}
			});
	}
	
	return false;
}

function carnetVoyageListe() {
	$('carnetVoyageListe').removeClassName('displayNone');
	$$('a.link-suppression-carnet').invoke('SuppressionLinkListen');
}

Element.addMethods({
	OubliMdpLinkListen: function(element) {
    	var element = $(element);
		Event.observe(element, 'click', function() { this.OubliMdpLinkClick(); });
	},
	OubliMdpLinkClick: function(element) {
    	var element = $(element);
		var lang = $F('util_lang').toLowerCase();
		
		var ladate = new Date();
		var url = '/main/site_'+lang+'/inc/carnet_de_voyage_oubli_mdp.asp';
		url += '?anticache='+ladate.getTime();
		
		Modalbox.show(url, {title: 'Modalbox', overlayClose: false, width: 600, method: 'post', params:Form.serialize('f_carnetVoyageDejaInscritForm'), afterLoad: function() { Event.observe($('popup_fermer'), 'click', function() { Modalbox.hide(); }); }, beforeHide: function() { }, afterHide: function() { }});
	},
	SuppressionLinkListen: function(element) {
    	var element = $(element);
		Event.observe(element, 'click', function() { this.SuppressionLinkClick(); });
	},
	SuppressionLinkClick: function(element) {
    	var element = $(element);
		
		var uNum = element.readAttribute("uNum");
		var pNum = element.readAttribute("pNum");
		var type = element.readAttribute("type");
		var urlReferer = $F('urlReferer');
		
		var params = {uNum : uNum, pNum : pNum, lang : global_lang, urlReferer : urlReferer}
		
		switch (global_lang) {
			case 'EN':
				var msgConfirmDeleteGuide = "Voulez-vous vraiment supprimer ce guide de votre carnet de voyage ?";
				var msgConfirmDeleteEnvie = "Voulez-vous vraiment supprimer cette envie de votre carnet de voyage ?";
				break;
			case 'DE':
				var msgConfirmDeleteGuide = "Voulez-vous vraiment supprimer ce guide de votre carnet de voyage ?";
				var msgConfirmDeleteEnvie = "Voulez-vous vraiment supprimer cette envie de votre carnet de voyage ?";
				break;
			default:
				var msgConfirmDeleteGuide = "Voulez-vous vraiment supprimer ce guide de votre carnet de voyage ?";
				var msgConfirmDeleteEnvie = "Voulez-vous vraiment supprimer cette envie de votre carnet de voyage ?";
		}
		
		var msgConfirm = (type = 'guide') ? msgConfirmDeleteGuide : msgConfirmDeleteEnvie;
		
		var ladate = new Date();
		var url = pathSite+'inc/carnet_de_voyage_suppression.asp';
		url += '?anticache='+ladate.getTime();
		
		if (confirme(msgConfirm)) Modalbox.show(url, {title: 'Modalbox', overlayClose: false, width: 600, method: 'post', params:params, afterLoad: function() { Event.observe($('popup_fermer'), 'click', function() { Modalbox.hide(); }); }, beforeHide: function() { }, afterHide: function() { location.reload(); }});
	}
});

















