/*
 * Author: Charles Lauzon
 * Name:   Functions_Inscription.js
 * Date:   29 Octobre, 2008
 */
 
/********************************************************************
 * 																	*
 *							INSCRIPTION                             *
 *																	*
 ********************************************************************/
//Variable Declaration
var isPrenomEmpty = true;
var isNomEmpty = true;
var isPaysEmpty = true;
var isProvinceEmpty = true;
var isVilleEmpty = true;
var isEmailEmpty = true;
var isConfirmEmailEmpty = true;
var isPasswordEmpty = true;
var isConfirmPasswordEmpty = true;
var isTelJourEmpty = true;
var isTelSoirEmpty = true;

//Boutton Soumettre
function btnSoumettre_onClick(){
	//Set Le Message Erreurs
	msgErreurs = "SVP, Entrez toutes les informations demandées!\n";
	//Check Si tout a ete entre correctement
	//Prenom
	if(document.fAccountInfo.txtPrenomMembre.value.length > 0){
		isPrenomEmpty = false;
		document.getElementById("lblPrenom").style.color = "#000000";
	}else{
		document.getElementById("lblPrenom").style.color = "#FF0000";
		msgErreurs += "\nLe Prénom n\'a pas été entré!";
	}
	//Nom
	if(document.fAccountInfo.txtNomMembre.value.length > 0){
		isNomEmpty = false;
		document.getElementById("lblNom").style.color = "#000000";
	}else{
		document.getElementById("lblNom").style.color = "#FF0000";
		msgErreurs += "\nLe Nom n\'a pas été entré!";
	}
	//Pays
	if(document.getElementById("cboPays").selectedIndex != 0){
		isPaysEmpty = false;
		document.getElementById("lblPays").style.color = "#000000";
	}else{
		document.getElementById("lblPays").style.color = "#FF0000";
		msgErreurs += "\nLe Pays n\'a pas été sélectionné!";
	}
	//Province
	if(document.getElementById("cboPays").value == "CA"){
		if(document.getElementById("cboProvince").selectedIndex != 0){
			isProvinceEmpty = false;
			document.getElementById("lblProvince").style.color = "#000000";
		}else{
			document.getElementById("lblProvince").style.color = "#FF0000";
			msgErreurs += "\nLa Province n\'a pas été sélectionnée!";
		}
	}else if(document.getElementById("cboPays").value == "US"){
		if(document.getElementById("cboEtat").selectedIndex != 0){
			isProvinceEmpty = false;
			document.getElementById("lblProvince").style.color = "#000000";
		}else{
			document.getElementById("lblProvince").style.color = "#FF0000";
			msgErreurs += "\nL'États n\'a pas été sélectionné!";
		}
	}else{
		document.getElementById("lblProvince").style.color = "#FF0000";
		msgErreurs += "\nLa Province n\'a pas été sélectionnée!";
	}
	//Ville
	if(document.getElementById("isVilleExist").value == "T"){
		isVilleEmpty = false;
		document.getElementById("lblVille").style.color = "#000000";
	}else if(document.getElementById("txtVille").value.length > 0){
		Initialize();
	
		var url = "./systems/ajax_ville_exist.php?P="+document.getElementById("cboPays").value+"&PC=";
		if(document.getElementById("cboPays").value == "CA"){ url += document.getElementById("cboProvince").value; }
		else if(document.getElementById("cboPays").value == "US"){ url += document.getElementById("cboEtat").value; }
		url += "&V="+document.getElementById("txtVille").value;
		if(req!=null){
			req.open('GET', url, false);
			req.send(null);
			if(req.status == 200){
				if(req.responseText != "F"){
					isVilleEmpty = false;
					document.fAccountInfo.isVilleExist.value = "T";
					document.getElementById("txtVille").value = req.responseText;
					document.getElementById("lblVille").style.color = "#000000";
				}
				else{
					document.getElementById("lblVille").style.color = "#FF0000";
					msgErreurs += "\nVous devez choisir une VILLE parmi la liste (ou l\'écrire correctement)";
				}
			}else{
				document.getElementById("ville").innerHTML = "There was a problem retrieving data:<br>" + req.statusText;
			}
		}	
	}else{
		document.getElementById("lblVille").style.color = "#FF0000";
		msgErreurs += "\nLa Ville n\'a pas été entrée!";
	}
	//Email
	if(document.fAccountInfo.txtEmailMembre.value.length > 0){
		if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(document.fAccountInfo.txtEmailMembre.value)){		
			isEmailEmpty = false;
			document.getElementById("lblEmail").style.color = "#000000";
		}else{
			document.getElementById("lblEmail").style.color = "#FF0000";
			msgErreurs += "\nL\'ADRESSE courriel est invalide!";
		}
	}else{
		document.getElementById("lblEmail").style.color = "#FF0000";
		msgErreurs += "\nL\'ADRESSE courriel n\'a pas été entrée!";
	}
	//ConfirmEmail
	if(document.fAccountInfo.txtVerifEmailMembre.value.length > 0){
		if(isEmailEmpty == false){
			if(document.fAccountInfo.txtVerifEmailMembre.value == document.fAccountInfo.txtEmailMembre.value){
				isConfirmEmailEmpty = false;
				document.getElementById("lblVerifEmail").style.color = "#000000";
			}else{
				document.getElementById("lblVerifEmail").style.color = "#FF0000";
				msgErreurs += "\nLa vérification du COURRIEL est incompatible!";
			}
		}else{
			document.getElementById("lblVerifEmail").style.color = "#FF0000";
		}
	}else{
		document.getElementById("lblVerifEmail").style.color = "#FF0000";
		msgErreurs += "\nLa vérification du Courriel n\'a pas été entré!";
	}
	//Password
	if(document.fAccountInfo.txtMotPasse.value.length >= 5){
		isPasswordEmpty = false;
		document.getElementById("lblMotPasse").style.color = "#000000";
	}else{
		document.getElementById("lblMotPasse").style.color = "#FF0000";
		msgErreurs += "\nLe Mot de Passe n\'a pas été entré! (Doit être au moins 5 Caractères ou plus)";
	}
	//ConfirmPassword
	if(document.fAccountInfo.txtVerifMotPasse.value.length >= 5){
		if(document.fAccountInfo.txtVerifMotPasse.value == document.fAccountInfo.txtMotPasse.value){
			isConfirmPasswordEmpty = false;
			document.getElementById("lblVerifMotPasse").style.color = "#000000";
		}else{
			document.getElementById("lblVerifMotPasse").style.color = "#FF0000";
			msgErreurs += "\nLa vérification du MOT DE PASSE est incompatible!";
		}
	}else{
		document.getElementById("lblVerifMotPasse").style.color = "#FF0000";
		msgErreurs += "\nLa Vérification du Mot de Passe n\'a pas été entré!";
	}
	//Telephone Jour
	if(document.fAccountInfo.txtCodeRegionnalMembreJour.value.length > 0 && document.fAccountInfo.txtTelMembreJour1.value.length > 0 && document.fAccountInfo.txtTelMembreJour2.value.length > 0){
		if(/^\(\d\d\d\) \d\d\d-\d\d\d\d$/.test("(" + document.fAccountInfo.txtCodeRegionnalMembreJour.value + ") " + document.fAccountInfo.txtTelMembreJour1.value + "-" + document.fAccountInfo.txtTelMembreJour2.value) && document.fAccountInfo.txtCodeRegionnalMembreJour.value != "000" && document.fAccountInfo.txtTelMembreJour1.value != "000"){
			isTelJourEmpty = false;
			document.getElementById("lblTelJour").style.color = "#000000";
		}else{
			document.getElementById("lblTelJour").style.color = "#FF0000";
			msgErreurs += "\nLe Numéro de Téléphone entré est incorrect. Veuillez SVP corriger.";
		}
	}else{
		isTelJourEmpty = false;	
	}
	//Telephone Soir
	if(document.fAccountInfo.txtCodeRegionnalMembreSoir.value.length > 0 && document.fAccountInfo.txtTelMembreSoir1.value.length > 0 && document.fAccountInfo.txtTelMembreSoir2.value.length > 0){
		if(/^\(\d\d\d\) \d\d\d-\d\d\d\d$/.test("(" + document.fAccountInfo.txtCodeRegionnalMembreSoir.value + ") " + document.fAccountInfo.txtTelMembreSoir1.value + "-" + document.fAccountInfo.txtTelMembreSoir2.value) && document.fAccountInfo.txtCodeRegionnalMembreSoir.value != "000" && document.fAccountInfo.txtTelMembreSoir1.value != "000"){
			isTelSoirEmpty = false;
			document.getElementById("lblTelSoir").style.color = "#000000";
		}else{
			document.getElementById("lblTelSoir").style.color = "#FF0000";
			msgErreurs += "\nLe Numéro de Téléphone Secondaire entré est incorrect. Veuillez SVP corriger.";
		}
	}else{
		isTelSoirEmpty = false;
	}
	
	//Check Si Toute es La Pour Submit
	if(isPrenomEmpty == false && isNomEmpty == false && isPaysEmpty == false && isProvinceEmpty == false && isVilleEmpty == false && isEmailEmpty == false && isConfirmEmailEmpty == false && isPasswordEmpty == false && isConfirmPasswordEmpty == false && isTelJourEmpty == false && isTelSoirEmpty == false){
		document.getElementById("Soumettre1").style.display = "none";
		document.getElementById("Loading1").style.display = "block";
		document.getElementById("Soumettre2").style.display = "none";
		document.getElementById("Loading2").style.display = "block";
		document.fAccountInfo.submit();
		document.fAccountInfo.imgLoading1.src = document.fAccountInfo.imgLoading1.src; //Reload AJAX GIF (IE BUG)
		document.fAccountInfo.imgLoading2.src = document.fAccountInfo.imgLoading2.src; //Reload AJAX GIF (IE BUG)
	}else{
		alert(msgErreurs);
	}
}

//Prenom onBlur met la premier lettre majuscule
function txtPrenomMembre_onBlur(){
	var PrenomMembre = document.fAccountInfo.txtPrenomMembre.value;
	if(PrenomMembre != ""){
		FirstLetter = PrenomMembre.charAt(0);
		AllRest = PrenomMembre.substr(1, PrenomMembre.length);
		PrenomMembre = FirstLetter.toUpperCase() + AllRest;
		document.fAccountInfo.txtPrenomMembre.value = PrenomMembre;
	}	
}
//Nom onBlur met la premier lettre majuscule
function txtNomMembre_onBlur(){
	var NomMembre = document.fAccountInfo.txtNomMembre.value;
	if(NomMembre != ""){
		FirstLetter = NomMembre.charAt(0);
		AllRest = NomMembre.substr(1, NomMembre.length);
		NomMembre = FirstLetter.toUpperCase() + AllRest;
		document.fAccountInfo.txtNomMembre.value = NomMembre;
	}
}
//Email onBlur regarde si le email es un email valide
function txtEmailMembre_onBlur(){
	var EmailMembre = document.fAccountInfo.txtEmailMembre.value;
	if(EmailMembre != ""){
		if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(EmailMembre)){		
			document.getElementById("lblInvalidEmail").style.visibility = "hidden";
		}
		else{
			document.getElementById("lblInvalidEmail").style.visibility = "visible";
		}
	}
}
//VerifEmail onBlur regarde si le email es identique avec celui entrer plus haut
function txtVerifEmailMembre_onBlur(){
	if(document.fAccountInfo.txtVerifEmailMembre.value == document.fAccountInfo.txtEmailMembre.value){
		document.getElementById("lblInvalidVerifEmail").style.visibility = "hidden";
	}
	else{
		document.getElementById("lblInvalidVerifEmail").style.visibility = "visible";
	}
}
//MotPasse onBlur regarde si on a plus de 5 characteres
function txtMotPasse_onBlur(){
	if(document.fAccountInfo.txtMotPasse.value != "" && document.fAccountInfo.txtMotPasse.value.length >= 5){
		document.getElementById("lblInvalidMotPasse").style.visibility = "hidden";
	}
	else{
		document.getElementById("lblInvalidMotPasse").style.visibility = "visible";
	}
}
//VerifMotPasse onBlur regarde si le mot passe es identique avec celui entrer plus haut
function txtVerifMotPasse_onBlur(){
	if(document.fAccountInfo.txtVerifMotPasse.value == document.fAccountInfo.txtMotPasse.value){
		document.getElementById("lblInvalidVerifMotPasse").style.visibility = "hidden";
	}
	else{
		document.getElementById("lblInvalidVerifMotPasse").style.visibility = "visible";
	}
}
//TelJour onBlur regarde si le numero de telephone es valide
function txtTelJour_onBlur(){
	if(document.fAccountInfo.txtCodeRegionnalMembreJour.value != "" && document.fAccountInfo.txtTelMembreJour1.value != "" && document.fAccountInfo.txtTelMembreJour2.value != ""){
		var phone_pattern = /(\d)?(\s|-)?(\()?(\d){3}(\))?(\s|-){1}(\d){3}(\s|-){1}(\d){4}/;
		tel = "(" + document.fAccountInfo.txtCodeRegionnalMembreJour.value + ") " + document.fAccountInfo.txtTelMembreJour1.value + "-" + document.fAccountInfo.txtTelMembreJour2.value;
		if(tel.match(phone_pattern) && document.fAccountInfo.txtCodeRegionnalMembreJour.value != "000" && document.fAccountInfo.txtTelMembreJour1.value != "000"){
			document.getElementById("lblInvalidTelJour").style.visibility = "hidden";
		}else{
			document.getElementById("lblInvalidTelJour").style.visibility = "visible";
		}
	}
}
//TelSoir onBlur regarde si le numero de telephone es valide
function txtTelSoir_onBlur(){
	if(document.fAccountInfo.txtCodeRegionnalMembreSoir.value != "" && document.fAccountInfo.txtTelMembreSoir1.value != "" && document.fAccountInfo.txtTelMembreSoir2.value != ""){
		var phone_pattern = /(\d)?(\s|-)?(\()?(\d){3}(\))?(\s|-){1}(\d){3}(\s|-){1}(\d){4}/;
		tel = "(" + document.fAccountInfo.txtCodeRegionnalMembreSoir.value + ") " + document.fAccountInfo.txtTelMembreSoir1.value + "-" + document.fAccountInfo.txtTelMembreSoir2.value;
		if(tel.match(phone_pattern) && document.fAccountInfo.txtCodeRegionnalMembreSoir.value != "000" && document.fAccountInfo.txtTelMembreSoir1.value != "000"){
			document.getElementById("lblInvalidTelSoir").style.visibility = "hidden";
		}else{
			document.getElementById("lblInvalidTelSoir").style.visibility = "visible";
		}
	}
}
//Code Postal onFocus regarde si le cboPays es choisis
function txtCodePostal_onFocus(){
	if(document.getElementById("cboPays").selectedIndex == 0){
		alert("Pour procéder à la validation de vos données, veuillez sélectionner le Pays avant d'entrer le Code Postal.");
		document.getElementById("cboPays").focus();
	}
}
//CodePostal onBlur regarde si le code postal es valide
function txtCodePostal_onBlur(){
	var CodePostal = document.fAccountInfo.txtCodePostal.value;
	if(CodePostal != ""){
		//Check if CA or US Postal Code
		if(document.getElementById("cboPays").value == "CA"){
			if(CodePostal.charAt(3) == " "){
				CodePostal = CodePostal.replace(' ', '-');
			}
			else if(CodePostal.length == 6){
				var MCodePostal1 = CodePostal.substring(0, 3);
				var MCodePostal2 = CodePostal.substring(3, 6);
				CodePostal = MCodePostal1 + "-" + MCodePostal2;
			}
			CodePostal = CodePostal.toUpperCase();
			document.fAccountInfo.txtCodePostal.value = CodePostal;			
			//Check if Valid CA Code Postal
			if(/^\s*[a-ceghj-npr-tvxy]\d[a-z](-)?\d[a-z]\d\s*$/i.test(CodePostal)){
				document.getElementById("lblInvalidCodePostal").style.visibility = "hidden";
			}else{
				document.getElementById("lblInvalidCodePostal").style.visibility = "visible";
			}
		}else if(document.getElementById("cboPays").value == "US"){
			if(CodePostal.length > 5){
				CodePostal = CodePostal.replace(' ', '-');
			}
			document.fAccountInfo.txtCodePostal.value = CodePostal;
			//Check if Valid US Zip Code
			if(/(^\d{5}$)|(^\d{5}-\d{4}$)/.test(CodePostal)){
				document.getElementById("lblInvalidCodePostal").style.visibility = "hidden";
			}else{
				document.getElementById("lblInvalidCodePostal").style.visibility = "visible";
			}
		}
	}
}
//CheckNumberOnly will check if we press a number button
function txtCheckNumberOnly(e){
	var kc; 
	var key;
	var strCheck = '0123456789'; //String de Verification
	//Prendre le keyCode de la key appuyer
	if(e.keyCode){ kc = e.keyCode; }
	else if(e.which){ kc = e.which; }
	//Get String Code from the keyCode
	key = String.fromCharCode(kc);
	//Check si on Efface ou Tab ou Del ou Gauche ou Droite
	if(kc == 8 || kc == 9 || kc == 46 || kc == 37 || kc == 39){
		return true;
	}else{ //Check If a Valid Key
		if(strCheck.indexOf(key) == -1){ return false; }
		else{ return true; }
	}
}
//Invalid Data Send Back form MySql
function invalid_data(Erreurs){
	var arrErreurs;
	arrErreurs = Erreurs.split(",");
	//Put in Red Invalid Data
	for(var i = 0; i < arrErreurs.length; i++){
		document.getElementById("lbl"+arrErreurs[i]).style.color = "#FF0000";
	}
}