/******************************************
*  Copyright © 2010
******************************************
*  Author   : JAR
*  Company  : TC Partners
*  Date     : June 2010
*  Website  : http://www.ffgolf.org/
*  Project  : FF Golf WebSite
*  Version  : 1.0.0
******************************************/
 
// Variables
// ------------------
var lCookieName = "ffgolf_el_licnum";


// Lang
// ------------------
mLang = new Array();
mLang["missing.login"] = "Merci de renseigner votre 'N° de licence'";
mLang["missing.password"] = "Merci de renseigner votre 'Mot de passe'";
mLang["missing.licence.number"] = "Merci de renseigner votre 'N° de licence'";
mLang["missing.lastname"] = "Merci de renseigner votre 'Nom'";
mLang["missing.firstname"] = "Merci de renseigner votre 'Prénom'";
mLang["missing.birthdate"] = "Merci de renseigner votre 'Date de naissance' dans le format JJ/MM/AAAA";
mLang["missing.zipcod"] = "Merci de renseigner votre 'Code Postal'";
mLang["form.submission.error"] = "Un problème est survenu pendant la soumission du formulaire";

mLang["error.no.matching"] = "Aucun licencié n'a été trouvé avec les informations fournies.\nMerci de vérifier vos informations.\n\nSi vous rencontrez des difficultés reportez-vous à la rubrique 'Questions & Réponses' ci dessous\nou contactez nous par email à l'adresse suivante : accueil@ffgolf.org\nCordialement";
mLang["error.no.matching.lost.password"] = "Aucun licencié ne correspond au N° de licence fournie.\nMerci de vérifier le N° saisi.";
mLang["error.multi.matching"] = "Plusieurs licenciés ont été trouvés avec les informations fournies.\nMerci de vérifier vos informations.\n\nSi vous rencontrez des difficultés reportez vous à la rubrique 'Questions & Réponses' ci dessous\nou contactez nous par email à l'adresse suivante : accueil@ffgolf.org\nCordialement";
mLang["error.no.email"] = "Votre compte a été trouvé, mais vous ne posséder pas d'email.\nMerci de renseigner votre numéro de mobile pour que vous puissiez\nrecevoir votre mot de passe par SMS.";
mLang["error.account.already.created"] = "Votre compte existe déjà.\n\nSi vous avez oublié votre mot de passe,\nmerci de cliquer sur 'Mot de passe oublié' ci-dessous.\nCordialement.";
mLang["error.phone.or.email.needed"] = "Merci de renseigner votre email et / ou votre numéro de portable pour que vous puissiez recevoir votre mot de passe\nCordialement.";

mLang["form.success.create.account.email"] = "Votre compte a été créé avec succès.\nUn email vient de vous être envoyé afin de l'activer\nMerci de vérifier vos email.";

mLang["form.success.lost.password.email"] = "Votre mot de passe vient d'être trouvé.\nUn email vient de vous être envoyé.";
mLang["form.success.lost.password.phone"] = "\nVous allez recevoir un SMS avec votre mot de passe.";

mLang["form.success.get.licence.number.email"] = "Votre numéro de licence a été trouvé.\nUn email vient de vous être envoyé.";
mLang["form.success.get.licence.number.phone"] = "\nVous allez recevoir un SMS avec votre numéro de licence.";

// JQuery
// ----------------------

$(document).ready(function(){

	// Navigation Menu Selection
	// ---------------
	$("#menu_licencie").removeClass("default_state").addClass("active_state");
	$("#navigation").addClass("login_page");
	$("#menu_licencie > ul").html("<li class=\"default_state\"><a><span>Merci de vous authentifier avant d'accéder à l'espace licencié</span></a></li>");
	
	// Read Cookie and set licnum
	var lCookie = readCookie(lCookieName)
	if(lCookie != null){
		$("#login").val(lCookie);
		$("#login").focus();
	}
	
	
	// Overlay triggers
	// ---------------
	
	$(".lost_password").colorbox({
		href:"#lost_password_panel"
	});
	
	$("#create_account").colorbox({
		href:"#create_account_panel",
		width:"555px",
		height:"555px"
	});
	
	$("#get_licence_number").colorbox({
		href:"#get_licence_number_panel"
	});

	// Date Picker
	// ---------------
	
	$("#create_birthdate").datepicker({
		changeMonth: true,
		changeYear: true,
		defaultDate: '-40Y'
	});
	
	$("#get_ln_birthdate").datepicker({
		changeMonth: true,
		changeYear: true,
		defaultDate: '-40Y'
	});

	// TODO : Dev
	// ---------------
	/*
	$("#licence_number").val("45450012");
	
	$("#create_licence_number").val("45450012");
	$("#create_lastname").val("BARON");
	$("#create_firstname").val("Daniel");
	$("#create_birthdate").val("05/11/1944");
	$("#create_zipcod").val("14800");
	$("#create_phone").val("0627366862");
	$("#create_email").val("jeremy.arnoult@gmail.com");
	
	$("#get_ln_lastname").val("BARON");
	$("#get_ln_firstname").val("Daniel");
	$("#get_ln_birthdate").val("05/11/1944");
	$("#get_ln_zipcod").val("14800");
	*/
	
	// Forms
	// ---------------
	
	// Form Create Account
	// --------------------
	
	var lOptionsFormCreateAccount = {
		dataType: 'xml',
		beforeSubmit: function(formArray, jqForm) {
			return verifyFormCreateAccount();
		},
		success: function(pXml) {
			if (pXml == null) {
				alert(mGlobalLang["ajax.call.error"] + " 'create_account_form'");
			} else {
				if(pXml.getElementsByTagName('e').length != 0){
					var lError = pXml.getElementsByTagName('e')[0].getAttribute('id');
					switch(lError){
						case "1": {
							alert(mLang["error.no.matching"]);
							break;
						}
						case "2": {
							alert(mLang["error.multi.matching"]);
							break;
						}
						case "3": {
							alert(mLang["error.account.already.created"]);
							break;
						}
						case "4": {
							alert(mLang["error.phone.or.email.needed"]);
							break;
						}
						default:{
							alert(mGlobalLang["error.default"]);
							break;
						}
					}
				}else{
					if(pXml.getElementsByTagName('r').length != 0){
						var lResult = pXml.getElementsByTagName('r')[0];
						if(lResult.getAttribute("email").length > 0){
							alert(mLang["form.success.create.account.email"] + " (" + lResult.getAttribute("email") + ")");							
						}else{
							alert(mLang["error.no.email"]);
						}
					}else{
						alert(mGlobalLang["error.default"]);
					}
					
					// Close popup !
					$.fn.colorbox.close();
					
				}
			}
		}
	};
	
	$('#create_account_form').ajaxForm(lOptionsFormCreateAccount);
	
	// Form Lost Password
	// --------------------
	
	var lOptionsFormLostPassword = {
		dataType: 'xml',
		beforeSubmit: function(formArray, jqForm) {
			return verifyFormLostPassword();
		},
		success: function(pXml) {
			if (pXml == null) {
				alert(mGlobalLang["ajax.call.error"] + " 'lost_password_form'");
			} else {
				if(pXml.getElementsByTagName('e').length != 0){
					var lError = pXml.getElementsByTagName('e')[0].getAttribute('id');
					switch(lError){
						case "1": {
							alert(mLang["error.no.matching.lost.password"]);
							$("#licence_number").focus();
							break;
						}
						default:{
							alert(mGlobalLang["error.default"]);
							break;
						}
					}
				}else{
					if(pXml.getElementsByTagName('r').length != 0){
						var lResult = pXml.getElementsByTagName('r')[0];
						if(lResult.getAttribute("email").length > 0){
							if(lResult.getAttribute("phone").length == 10){
								alert(mLang["form.success.lost.password.email"] + mLang["form.success.lost.password.phone"]);
//								alert(mLang["form.success.lost.password.email"] + " (" + lResult.getAttribute("email") + ")" + mLang["form.success.lost.password.phone"] + " (" + lResult.getAttribute("phone") + ")");
							}else{	
								alert(mLang["form.success.lost.password.email"]);
//								alert(mLang["form.success.lost.password.email"] + " (" + lResult.getAttribute("email") + ")");
							}
							$.fn.colorbox.close();
						}else{
							if(lResult.getAttribute("phone").length == 10){
//								alert(mLang["form.success.lost.password.phone"] + " (" + lResult.getAttribute("phone") + ")");
								alert(mLang["form.success.lost.password.phone"]);
								$.fn.colorbox.close();
							}else{
								alert(mLang["error.no.email"]);
							}
						}
					}else{
						alert(mGlobalLang["error.default"]);
					}
				}
			}
		}
	};
	
    $('#lost_password_form').ajaxForm(lOptionsFormLostPassword);
	
	// Form Get Licence Number
	// --------------------
	
	var lOptionsFormGetLicenceNumber = {
		dataType: 'xml',
		beforeSubmit: function(formArray, jqForm) {
			return verifyFormGetLicenseNumber();
		},
		success: function(pXml) {
			if (pXml == null) {
				alert(mGlobalLang["ajax.call.error"] + " 'get_licence_number_form'");
			} else {
				if(pXml.getElementsByTagName('e').length != 0){
					var lError = pXml.getElementsByTagName('e')[0].getAttribute('id');
					switch(lError){
						case "1": {
							alert(mLang["error.no.matching"]);
							break;
						}
						default:{
							alert(mGlobalLang["error.default"]);
							break;
						}
					}
				}else{
					if(pXml.getElementsByTagName('r').length != 0){
						var lResult = pXml.getElementsByTagName('r')[0];
						if(lResult.getAttribute("email").length > 0){
							if(lResult.getAttribute("phone").length == 10){
								alert(mLang["form.success.get.licence.number.email"] + " (" + lResult.getAttribute("email") + ")" + mLang["form.success.get.licence.number.phone"] + " (" + lResult.getAttribute("phone") + ")");
							}else{	
								alert(mLang["form.success.get.licence.number.email"] + " (" + lResult.getAttribute("email") + ")");
							}
							$.fn.colorbox.close();
						}else{
							if(lResult.getAttribute("phone").length == 10){
								alert(mLang["form.success.get.licence.number.phone"] + " (" + lResult.getAttribute("phone") + ")");
								$.fn.colorbox.close();
							}else{
								alert(mLang["error.no.email"]);
							}
						}
					}else{
						alert(mGlobalLang["error.default"]);
					}
				}
			}
		}
	};
	
    $('#get_licence_number_form').ajaxForm(lOptionsFormGetLicenceNumber);
    
});

function verifyFormLogin(){

	if( isDefined("login") ){
	
		// Add cookie to remember the licnum
		// --------------
		
		// Cookie information
		var lCookieContent = "";
		lCookieContent += $("#login").val();
                                
		// Read Cookie, and delete if exists
		if(readCookie(lCookieName) != null){
			eraseCookie(lCookieName);
		}
		
		// Create Cookie
		createCookie(lCookieName, lCookieContent, 365);
	
		var lLicLength = $("#lic_length").val();
		$("#login").val(formatLicNum( $("#login").val(), lLicLength) );
	
        if( isDefined("password") ){
			
			return true;
			
		}else{
			alert(mLang["missing.password"]);
			$("#" + "password").focus();
		}
	}else{
		alert(mLang["missing.login"]);
		$("#" + "login").focus();
	}

	return false;
	
}

function verifyFormLostPassword(){

	if( isDefined("licence_number") ){
       
		var lLicLength = $("#lic_length").val();
		$("#licence_number").val(formatLicNum( $("#licence_number").val(), lLicLength) );
	   
	   return true;
	   
	}else{
		alert(mLang["missing.licence.number"]);
		$("#" + "licence_number").focus();
	}

	return false;
	
}

function verifyFormCreateAccount(){

	if( isDefined("create_licence_number") ){
	
		var lLicLength = $("#lic_length").val();
		$("#create_licence_number").val(formatLicNum( $("#create_licence_number").val(), lLicLength) );
	
        if( isDefined("create_lastname") ){
			if( isDefined("create_firstname") ){
				if( isDefined("create_birthdate") && $("#create_birthdate").val().length == 10 ){
					if( isDefined("create_zipcod") ){
						if( isCorrectEmail($("#create_email").val()) ){
							if( !isDefined("create_phone") || isCorrectPhone($("#create_phone").val()) ){
								return true;
							}else{
								alert(mGlobalLang["error.phone.format"]);
								$("#" + "create_phone").focus();
							}
						}else{
							alert(mGlobalLang["error.email.format"]);
							$("#" + "create_email").focus();
						}
					}else{
						alert(mLang["missing.zipcod"]);
						$("#" + "create_zipcod").focus();
					}
				}else{
					alert(mLang["missing.birthdate"]);
					$("#" + "create_birthdate").focus();
				}
			}else{
				alert(mLang["missing.firstname"]);
				$("#" + "create_firstname").focus();
			}
		}else{
			alert(mLang["missing.lastname"]);
			$("#" + "create_lastname").focus();
		}
	}else{
		alert(mLang["missing.licence.number"]);
		$("#" + "create_licence_number").focus();
	}

	return false;
	
}

function verifyFormGetLicenseNumber(){

	if( isDefined("get_ln_lastname") ){
		if( isDefined("get_ln_firstname") ){
			if( isDefined("get_ln_birthdate") && $("#get_ln_birthdate").val().length == 10 ){
				if( isDefined("get_ln_zipcod") ){
					
					return true;

				}else{
					alert(mLang["missing.zipcode"]);
					$("#" + "get_ln_zipcod").focus();
				}
			}else{
				alert(mLang["missing.birthdate"]);
				$("#" + "get_ln_birthdate").focus();
			}
		}else{
			alert(mLang["missing.firstname"]);
			$("#" + "get_ln_firstname").focus();
		}
	}else{
		alert(mLang["missing.lastname"]);
		$("#" + "get_ln_lastname").focus();
	}

	return false;
	
}

