// =================================================== //
// =================== VARIABLES GLOBALES ============= //
// =================================================== //
var boolGeoLocAff = false;
var objAjax = null;
var champFocus = 'txtRecherche';
var urlback = null;
var map = null;
var geocoder = null;
var strXMLBureaux = null;
var xmlBureaux = null;
var customIcons = [];
var arrMarkers = [];
var arrAdresses = [];
var messagesErreursFr = new Array();
var messagesErreursEn = new Array();
var langue = null; // La langue du site présentement utilisée
var dateLivraisonEtape02 = null; // dans achat02.php
var typePaiement = null; // dans achat03.php
var keepTrackClickPaiement = false; // dans achat03.php
var globalIdSimulation = null; // dans simulation.php
var globalboolCoche = null; // dans simulation.php
var arrOwing = new Array(); // dans budget01.php
var intOwing = 2; // dans budget01.php
var maxIntOwing = 10; // dans budget01.php
var arrCredit = new Array(); // dans budget01.php
var intCredit = 2; // dans budget01.php
var maxIntCredit = 10; // dans budget01.php
var arrLCredit = new Array(); // dans budget01.php
var intLCredit = 2; // dans budget01.php
var maxIntLCredit = 10; // dans budget01.php
var image1 = new Image(); // dans index.php
var image2 = new Image(); // dans index.php
var image3 = new Image(); // dans index.php
var image4 = new Image(); // dans index.php
var image5 = new Image(); // dans index.php
var intSplashImg = 1; // dans index.php
var intCompteurModeles = 0; // dans simulation.php
var arrTrisResTerr = new Array(); // dans rechercheTerrains.php

// ============================== ===================== //
// ====================== TIMERS ======================= //
// ============================== ===================== //
var timerIntelli = null;
var derniereReq = null;

// ============================== ===================== //
// ==================== FONCTONS ===================== //
// ============================== ===================== //
var initApp = function(page) {
	
	// alert(page);
	if( page.indexOf('achat') > -1 == true ) {
		page = 'achat';
	}
	
	switch(page) {
		case 'bureaux.php':
			$("txtRecherche").focus();
		break;
		case 'contact.php':
			var texte = null;
			$("txtNom").focus();	
					
			messagesErreursFr.push("Le champ nom et prénom est vide.<br />");
			messagesErreursEn.push("The name field is empty.<br />");
			
			messagesErreursFr.push("Le champ numéro de téléphone est vide.<br />");
			messagesErreursEn.push("The phone number field is empty.<br />");
			
			messagesErreursFr.push("Le champ courriel est vide ou ne suit pas le bon format. Exemple de format correct: vous@domaine.com.<br />");
			messagesErreursEn.push("The e-mail field is empty or doesn't follow the right syntax. Example: you@domain.com.<br />");				
			
			messagesErreursFr.push("Le champ demande est vide.<br />");
			messagesErreursEn.push("The question field is empty.<br />");
			
			messagesErreursFr.push("Le code de sécurité est vide ou invalide.<br />");
			messagesErreursEn.push("The security code is empty or invalid.<br />");				
			
			// Autres messages
			messagesErreursFr.push("Analyse de votre demande en cours....<br />");
			messagesErreursEn.push("Analyzing your question...<br />");	
			
			messagesErreursFr.push("Commencez à taper votre question.");
			messagesErreursEn.push("Please start typing your question.");	
			
			if( langue =='fr' ) {
				texte = messagesErreursFr[6];
			} else {
				texte = messagesErreursEn[6];
			}
			
			$("intelliform").innerHTML = texte;
			
			try {
				afficherErreurCallbackPost(arrChampsErreurs, arrChampsMessages);
			} catch(e) { }
			
		break;
		case 'conseiller.php':
		
			var texte = null;
			
			messagesErreursFr.push("Le nom d'usager est vide.<br />");
			messagesErreursEn.push("The username field is empty.<br />");
			
			messagesErreursFr.push("Le champ mot de passe est vide.<br />");
			messagesErreursEn.push("The password field is empty.<br />");
			
			messagesErreursFr.push("Nom d'usager ou mot de passe incorrect. Veuillez recommencer.<br />");
			messagesErreursEn.push("Invalid credentials. Please try again.<br />");
			
			if( langue =='fr' ) {
				texte = messagesErreursFr[2];
			} else {
				texte = messagesErreursEn[2];
			}
		
			try {
				afficherErreurCallbackPost(arrChampsErreurs, arrChampsMessages);
			} catch(e)  { }
			
		break;
		case 'achat':
			document.getElementById('txtNom').focus();
		break;
		default:
			$("txtRecherche").focus();
		break;
	}
};

var affGeoLoc = function() {
	//$("divlocation").toggle();
	if( boolGeoLocAff == true ) {
		// On le masque
		boolGeoLocAff = false;
		new Effect.SlideUp('divlocation', {duration:0.1, queue: 'end'});
	} else {
		boolGeoLocAff = true;
		new Effect.SlideDown('divlocation', {duration:0.1, queue: 'end'});
	}
};

var newAjax = function() {
	var ajax = null;
	if(window.XMLHttpRequest) {
		try {
			ajax = new XMLHttpRequest();
		} catch(e) {
			ajax = false;
		}
	} else if(window.ActiveXObject) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				ajax = false;
			}
		}
	}
	return ajax;	
};

var checkNumPlan = function() {
	if( $F("txtRecherche") == "# de plan" || $F("txtRecherche") == "Plan Number" ) {
		$("txtRecherche").value = "";
	}
};

// Switch de langue
var switchLangue = function(lang) {
	
	var ajax = false;
	
	if(window.XMLHttpRequest) {
		try {
			ajax = new XMLHttpRequest();
		} catch(e) {
			ajax = false;
		}
	} else if(window.ActiveXObject) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				ajax = false;
			}
		}
	}
	
	if(ajax) {                
		ajax.open("GET", "setLangue.php?lang="+lang, false);
		try {
			ajax.send(null);
			window.location.reload();
		} catch(e) { }
	}
};

// Switch de méthode d'affichage
var switchMethodeAffichage = function(num, url) {
	
	var ajax = false;
	urlback = url;
	
	if(window.XMLHttpRequest) {
		try {
			ajax = new XMLHttpRequest();
		} catch(e) {
			ajax = false;
		}
	} else if(window.ActiveXObject) {
		try {
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				ajax = false;
			}
		}
	}
	
	if(ajax) {                
		ajax.open("GET", "setMethodeAffichage.php?num=" + num, false);
		try {
			ajax.send(null);
			window.location.reload();
		} catch(e) { }
	}
};

var switchMethodeAffichage_handler = function() {
	var bidon = urlback;
	document.location.href = bidon;
};

var lancerRecherche = function() {
	var texte = $F("txtRecherche");
	if( texte == '' ) {
		new Effect.Highlight("txtRecherche");
		$("txtRecherche").focus();
	} else {
		var checkSite = $("chkSite").checked;
		if( texte != '' ) {
			if( checkSite == true) {
				document.location.href = "rechavanc.php?cx=003210323792145321559%3A2br37nulsv4&cof=FORID%3A10&q="+texte+"&sa=Rechercher#223";
			} else {
				document.location.href = "recherche.php?plan="+texte;
			}
		}
		champFocus = null;	
	}
};

var placerFocus = function(id) {
	champFocus = id;	
};

function checkEnter(e) {
	var characterCode;
	
	try {
		if(e && e.which) {
			e = e;
			characterCode = e.which;
		} else{
			e = event;
			characterCode = e.keyCode;
		}
		
		// Vérification du code du caractère
		if(characterCode == 13 && champFocus == 'txtRecherche' ) {
			lancerRecherche();
			return false;
		} else {
			return true;
		}	
	} catch(e) { }
}

var overLogo = function(lang, state) {
	var objImg = $("logoLaprise");
	if( lang == 'fr' ) {
		if( state == 'on' ) {
			objImg.setAttribute('src', 'img/imghome_fr_on.jpg');
		} else {
			// off
			objImg.setAttribute('src', 'img/imghome_fr_off.jpg');
		}
	} else {
		if( state == 'on' ) {
			objImg.setAttribute('src', 'img/imghome_en_on.jpg');
		} else {
			// off
			objImg.setAttribute('src', 'img/imghome_en_off.jpg');
		}	
	}
};

var zoomBureau = function(id) {
    try {
        map.closeInfoWindow();
        for(var i=0; i < arrMarkers.length; i++) {
            if( i == id ) {
                GEvent.trigger(arrMarkers[i], "click");
                map.setCenter(arrMarkers[i].getLatLng(), 16);
                i =  arrMarkers.length;
            }
        }
    } catch(e) { }
};

var centrerPays = function(pays) {
    map.closeInfoWindow();
	switch(pays) {
		case 'Canada':
      			map.setCenter(new GLatLng(46.969730, -70.573402), 6);  
		break;
		case 'France':
			map.setCenter(new GLatLng(47.7799682617, 6.5932531357), 6); 
		break;
		case 'Suisse':
			map.setCenter(new GLatLng(46.5272789001, 6.5932531357), 6); 
		break;
		case 'Espagne':
			map.setCenter(new GLatLng(38.4105567932, -1.0107419491), 6); 
		break;
		default:
			map.setCenter(new GLatLng(46.969730, -70.573402), 6); 
		break;
	}
};

var setLangueJS = function(lang) {
	langue = lang;
};

// ========================================================== //
// ================ Validation du formulaire de contact ================ //
// ========================================================== //
var validerEmail = function(str) {
	var patternEmail = new RegExp(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/);
	return (patternEmail.test(str) );
};

var validerFrmContact = function() {
	var totalErreur = 0;
	var strMessage = '';
	
	if( $F("txtNom").length == 0 ) {
		afficherChampErreur("txtNom");
		totalErreur++;
		if( langue == 'fr') {
			strMessage += messagesErreursFr[0];
		} else {
			strMessage += messagesErreursEn[0];
		}
	} else {
		setBackgroundNormal("txtNom");
	}
	
	if( $F("txtTelephone").length == 0 ) {
		afficherChampErreur("txtTelephone");
		totalErreur++;
		if( langue == 'fr') {
			strMessage += messagesErreursFr[1];
		} else {
			strMessage += messagesErreursEn[1];
		}	
	} else {
		setBackgroundNormal("txtTelephone");
	}
	
	// Si on a un courriel, on suit la validation
	if( $F("txtCourriel").length > 0 && !validerEmail($F("txtCourriel") ) ) {
		afficherChampErreur("txtCourriel");
		totalErreur++;
		if( langue == 'fr') {
			strMessage += messagesErreursFr[2];
		} else {
			strMessage += messagesErreursEn[2];
		}		
	} else {
		setBackgroundNormal("txtCourriel");
	}
	
	if( $F("txtDemande").length == 0 ) {
		afficherChampErreur("txtDemande");
		totalErreur++;
		if( langue == 'fr') {
			strMessage += messagesErreursFr[3];
		} else {
			strMessage += messagesErreursEn[3];
		}	
	} else {
		setBackgroundNormal("txtDemande");
	}
	
	if( $F("txtCodeSecurite").length == 0 ) {
		afficherChampErreur("txtCodeSecurite");
		totalErreur++;
		if( langue == 'fr') {
			strMessage += messagesErreursFr[4];
		} else {
			strMessage += messagesErreursEn[4];
		}
	} else {
		setBackgroundNormal("txtCodeSecurite");
	}
	
	if( totalErreur > 0 ) {
		// On affiche les champs en erreur et le message d'erreur général
		afficherErreur(strMessage);
	} else {
		masquerMessageErreur();
		//$("btnEnvoyer").setAttribute("value", "Veuillez patienter...");
		//$("btnEnvoyer").disabled = 'disabled';
		$("frmDemandeContact").submit();
	}
};

// ========================================================== //
// ================= Fonctions de gestion des erreurs ================ //
// ========================================================== //
var masquerMessageErreur = function() {
	$("messageErreur").style.backgroundColor = '';
	$("messageErreur").style.border = '';
	$("messageErreur").style.padding = '';
	$("messageErreur").style.marginBottom = '';
	$("messageErreur").innerHTML = '&nbsp;';
};

var masquerMessageErreurPerso = function(div) {
	$(div).style.backgroundColor = '';
	$(div).style.border = '';
	$(div).style.padding = '';
	$(div).style.marginBottom = '';
	$(div).innerHTML = '&nbsp;';
};

var setBackgroundNormal = function(id) {
	$(id).className = '';
	$("txt_" + id).className = 'formContact';
};

var afficherChampErreur = function(id) {
	$(id).className = 'champErreur';
	$("txt_" + id).className = 'texteGras';
};

var afficherChampErreur2 = function(id) {
	$(id).className = 'champErreur';
	$(id).focus();
};

var setBackgroundNormal2 = function(id) {
	$(id).className = '';
};

var afficherErreur = function(str) {
	
	// Si on a le second argument optinnel qui est le ID du div
	// du message d'erreur, on l'affiche dans ce id
	var div = '';
	
	if (arguments.length > 1) {
		div = arguments[1];	 // 1 car le 0 est la string à afficher
	} else {
		div = 'messageErreur';
	}
	
	masquerMessageErreurPerso(div);
	
	var str = '<table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr>'
	+ '<td width=\"3%\" style=\"padding-right: 10px;\"><img id=\"img_Erreur\" src=\"img/icon_error_40x40.gif\" />'
	+ '</td><td width=\"97%\">'+ str +'</td></tr></table>';	
	
	$(div).style.backgroundColor = '#ffffcc';
	$(div).style.border = '1px solid #aaaaaa';
	$(div).style.padding = '4px';
	$(div).style.marginBottom = '20px';
	$(div).innerHTML = str;
	$(div).className = 'erreur';
};

var afficherErreurCallbackPost = function(arrChampErr, arrMessage) {
	
	for(var i=0; i < arrChampErr.length; i++) {
		
		var messageErreur = '';
		
		afficherChampErreur(arrChampErr[i]);
		
		if( langue == 'fr' ) {
			messageErreur += messagesErreursFr[arrMessage[i]];
		} else {
			messageErreur += messagesErreursEn[arrMessage[i]];
		}
	}
	
	afficherErreur(messageErreur);
};

// ========================================================== //
// ===================== Formulaire intelligent ===================== //
// ========================================================== //
var getTexteFormCheck = function() {
	var texte = null;
	if( langue =='fr' ) {
		texte = messagesErreursFr[5];
	} else {
		texte = messagesErreursEn[5];
	}
	
	if( $F("txtDemande") != "" ) {
		$("patienterIntelliForm").innerHTML = "<img src='img/spinner.gif'/>&nbsp;<strong>"+texte+"</strong>";
		clearTimeout(timerIntelli);
		timerIntelli = setTimeout("proposerRep();", 1000);	
	}
};

var proposerRep = function() {
	
	if( $F("txtDemande") == '' ) {
		
		var texte = null;
		
		if( langue =='fr' ) {
			texte = messagesErreursFr[6];
		} else {
			texte = messagesErreursEn[6];
		}
		
		$("intelliform").innerHTML = texte;
		
	} else {
		
		objAjax = new Ajax();
		objAjax.async = false;
		try {
			if( langue.substr(0,2) == 'fr' ) {
				var langueReq = 'frCA';
			} else {
				var langueReq = 'enUS';
			}
	
			objAjax.doGet("getIntelQuestion.php?q=" + $F("txtDemande")+"&lang="+langueReq,
				proposerRep_handler,
				"xml");
		} catch(e) { }
	}
	
	$("patienterIntelliForm").innerHTML = "&nbsp;";
};

var proposerRep_handler = function() {

	    if (objAjax.readyState == 4) {
	        if (objAjax.status == 200) {
	        
	        		var dataRepQR = ""
	        	
	        		try {
		        		// On peut alors le parser et valider le contenu
		        		var objXML = objAjax.responseXML;
		        		var questions = objXML.getElementsByTagName("question"); 
		        		
		        		if( questions.length > 0 ) {
			        		for(var i =0; i < questions.length; i++) {
			        			
			        			var titre = questions[i].getElementsByTagName("titre")[0].firstChild.nodeValue; 
			        			var texte = questions[i].getElementsByTagName("texte")[0].firstChild.nodeValue; 
			        			var IdFAQ = questions[i].getElementsByTagName("IdFAQ")[0].firstChild.nodeValue; 
			        			
			        			var texteAbbr = texte.substring(0, 50)+"...";
			        			
			        			dataRepQR += "<strong>Q: "+titre+"</strong><br />R: <a href=\"faq.php#"+IdFAQ+"\" title=\"\">"+texteAbbr+"</a><br /><br />";
			        		}		        			
		        		} else {
		        			
		        			if( langue == 'fr' ) {
		        				dataRepQR += "Nous sommes désolés. Pour le moment, notre base de connaissance ne contient pas d'information sur ce sujet.<br />";
		        			} else {
		        				dataRepQR += "We are sorry. For the moment, our knowledge base  does not contain information on this subject.<br />";
		        			}
		        			
		        			
		        		}
		        		
	        		} catch( e ) { }
	        		
	        		// alert(objAjax.responseText);
	        		$("intelliform").innerHTML = dataRepQR;
	        }
	    }
};

/*******************************************************/
/* SECTION EMPLOI */
/*******************************************************/
var afficherPostuler = function() {
    new Effect.toggle('divPostuler', effectType='blind', {duration:0.14, afterFinish: focustxtNom});
};

var fermerPostuler = function() {
    new Effect.BlindUp('divPostuler', {duration:0.14,queue:'first'});  
};

var afficherEnvoyerAmi = function() {
    new Effect.toggle('envoyerAmi', effectType='blind', {duration:0.14, afterFinish: focustxtNomHote}); 
};

var validerPostuler = function() {
     
     var totalErr = 0;
     var strMessage = '';
     
     if( $F("txtNom") == '' ) {
        totalErr++;
        afficherChampErreur("txtNom");
		if( langue == 'fr') {
			strMessage += "Le champ nom est incomplet.<br />";
		} else {
			strMessage += "The Name field is incomplete.<br />";
		}
     } else {
        setBackgroundNormal("txtNom");
     }
     
     if( $F("txtTelephone") == '' ) {
        totalErr++;
        afficherChampErreur("txtTelephone");
		if( langue == 'fr') {
			strMessage += "Le champ téléphone est incomplet.<br />";
		} else {
			strMessage += "The Phone Number field is incomplete.<br />";
		}
     } else {
        setBackgroundNormal("txtTelephone");
     }
     
     if( $F("txtCV") == '' ) {
        totalErr++;
        afficherChampErreur("txtCV");
		if( langue == 'fr') {
			strMessage += "Le champ C.V. est incomplet.<br />";
		} else {
			strMessage += "The Resume field is incomplete.<br />";
		}
     } else {
        setBackgroundNormal("txtCV");
     } 
	 
     if( $F("txtLP") == '' ) {
        totalErr++;
        afficherChampErreur("txtLP");
		if( langue == 'fr') {
			strMessage += "La lettre de présentation est obligatoire.<br />";
		} else {
			strMessage += "The letter of presentation is required.<br />";
		}
     } else {
        setBackgroundNormal("txtLP");
     } 
     
     if( totalErr == 0 ) {
     	
	var msgProg = '';
     	var msgPatienter = '';
     	
	if( langue == 'en' ) {
		msgProg = 'Upload in progress...';
		msgPatienter = 'Wait';
	} else  {
		msgProg = 'Transfert en cours...';
		msgPatienter = 'Patientez';
	}     	
     	
	$("lblPatienPostuler").innerHTML = "<img src=\"img/spinner.gif\" />&nbsp;<strong>"+msgProg+"</strong><br />";
	$("btnEnvPostuler").disabled = "disabled";
	$("btnEnvPostuler").setAttribute("value", msgPatienter);
	$("frmPostuler").submit();
     } else {
     	afficherErreur(strMessage, "messageErreurPostuler");
     }
 
};

var validerAmi = function() {

	 var totalErr = 0;
	 var strMessage = '';
	 
	 
	 // ----------------- Votre nom ------------ //
	 if( $F("txtNomHote") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtNomHote");
		if( langue == 'fr') {
			strMessage += "Le champ votre nom est incomplet.<br />";
		} else {
			strMessage += "The Your Name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtNomHote");
	 }
	
	 // ----------------- Votre courriel ------------ //
	 if( !validerEmail($F("txtCourrielHote") ) ) {
	    totalErr++;
	    afficherChampErreur("txtCourrielHote");
		if( langue == 'fr') {
			strMessage += "Le courriel spécifié (votre courriel) est invalide ou ne suis pas le format vous@domaine.com.<br />";
		} else {
			strMessage += "The email (your email) is invalid or doesn't follow the following format you@domain.com.<br />";
		}
	 } else {
	    setBackgroundNormal("txtCourrielHote");
	 }
	 
	 // ----------------- Nom de votre ami ------------ //
	 if( $F("txtNomAmi") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtNomAmi");
		if( langue == 'fr') {
			strMessage += "Le champ nom de votre ami est incomplet.<br />";
		} else {
			strMessage += "The Your friend's name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtNomAmi");
	 } 
	 
	 // ----------------- E-mail de votre ami ------------ //
	  if( !validerEmail($F("txtCourrielAmi") ) ) {
	    totalErr++;
	    afficherChampErreur("txtCourrielAmi");
		if( langue == 'fr') {
			strMessage += "Le courriel spécifié (courriel de votre ami) est invalide ou ne suis pas le format vous@domaine.com.<br />";
		} else {
			strMessage += "The friend's email field is invalid or doesn't follow the following format you@domain.com.<br />";
		}
	 } else {
	    setBackgroundNormal("txtCourrielAmi");
	 }  
	
	if( totalErr > 0 ) {
		afficherErreur(strMessage);
	} else {
		masquerMessageErreur();
		$("btnEnvoyerAmi").disabled = 'disabled';
		$("frmAmi").submit();	
	}
};

var focustxtNom = function() {
	try {
		$("txtNom").focus();
	} catch(e) {
		
	}
};

var focustxtNomHote = function() {
	try {
		$("txtNomHote").focus();
	} catch(e) {
		
	}	
};

// ========================================================== //
// ============= SECTION DES TRAVAUX À COMPLÉTER ============= //
// ========================================================== //
var afficherDevis = function(fichier) {
	window.open(fichier, 'Devis de Construction', 'width=700,height=400,top=50,left=50,scrollbars=yes,resizable=no');
};

// ========================================================== //
// =================== GESTION DES PLANS PDF ================== //
// ========================================================== //
var voirAutresPlans = function(modele) {
   var urlModele = '../GestionPDF/modele.php?modele=' + modele;
   window.open(urlModele,'','left=0,top=0,width=1012,height=707,resizable=no,scrollbars=yes,menubar=no,toolbar=no'); 	
};

var ajouterFavoris = function(modele) {
	if ( navigator.appName != 'Microsoft Internet Explorer' ) {
		window.sidebar.addPanel("Laprise "+modele,"http://www.maisonlaprise.com/fiche.php?plan="+modele,"");
	} else {
		window.external.AddFavorite("http://www.maisonlaprise.com/fiche.php?plan="+modele,"Laprise "+modele);
	}	
};

var ajouterFavorisTerrain = function(IdFiche) {
    if ( navigator.appName != 'Microsoft Internet Explorer' ) {
        window.sidebar.addPanel("Laprise Fiche de terrain #"+IdFiche,"http://www.maisonlaprise.com/ficheTerrain.php?IdFiche="+IdFiche,"");
    } else {
        window.external.AddFavorite("http://www.maisonlaprise.com/ficheTerrain.php?IdFiche="+IdFiche,"Laprise Fiche de terrain #"+IdFiche);
    }    
};


var popUp = function(URL) {
	window.open(URL, 'Partenaires', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=780,height=571,left = 122,top = 98.5');
};

var popUpTerrains = function(lang) {
	window.open("http://www.maisonlaprise.com/GestionTerrains/flex/app.php?lang="+lang, "",
		"width=980,height=550,scrollbars=0,left=" +
		((screen.width - 980)/2) + ",top=" + ((screen.height - 550)/2)+",toolbar=0,location=0,statusbar=0,menubar=0,resizable=0" );
};

// ============================== ===================== //
// 	VALIDATION DES CHAMPS POUR LE FORMULAIRE D'ACHAT
// ============================== ===================== //
var validerEtapeAchat01 = function(plan, ssid) {
	
	totalErr = 0;
	strMessage = '';
	
	 // ----------------- Nom ------------ //
	 if( $F("txtNom") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtNom");
		if( langue == 'fr') {
			strMessage += "Le champ nom est incomplet.<br />";
		} else {
			strMessage += "The Last Name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtNom");
	 } 
	 
	 // ----------------- Prénom ------------ //
	 if( $F("txtPrenom") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtPrenom");
		if( langue == 'fr') {
			strMessage += "Le champ prénom est incomplet.<br />";
		} else {
			strMessage += "The First Name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtPrenom");
	 }  
	 
	 // ----------------- Adresse ------------ //
	 if( $F("txtAdresse") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtAdresse");
		if( langue == 'fr') {
			strMessage += "Le champ adresse est incomplet.<br />";
		} else {
			strMessage += "The Address field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtAdresse");
	 }   
	 
	 
	 // ----------------- Ville ------------ //
	 if( $F("txtVille") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtVille");
		if( langue == 'fr') {
			strMessage += "Le champ ville est incomplet.<br />";
		} else {
			strMessage += "The City field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtVille");
	 }  
	 
	 // ----------------- Code Postal ------------ //	 
	if( !validerCodePostalPart01($F("txtCodePostal01")) || !validerCodePostalPart02($F("txtCodePostal02")) ) {
	    totalErr++;
	    afficherChampErreur("txtCodePostal01");
	    try { afficherChampErreur("txtCodePostal02"); } catch(e) {} // Vu qu'on a pas de label pour ce champ
		if( langue == 'fr') {
			strMessage += "Le code postal ne respecte pas le bon format. Ex: G5V 3L5.<br />";
		} else {
			strMessage += "The Zip Code doesn't match the right format. Ex: G5V 3L5.<br />";
		}
	 } else {
	    setBackgroundNormal("txtCodePostal01");
	    try { setBackgroundNormal("txtCodePostal02"); } catch(e) {}
	 }
	 
	 // ----------------- Courriel ------------ //
 	// On le valide
 	if( !validerEmail($F("txtCourriel") ) ) {
		    totalErr++;
		    afficherChampErreur("txtCourriel");
			if( langue == 'fr') {
				strMessage += "Le champ courriel est vide ou ne suit pas le bon format. Ex: vous@domaine.com.<br />";
			} else {
				strMessage += "The E-mail field is empty or doesn't follow the right syntax. Ex: you@domain.com.<br />";
			}
		 } else {
		    setBackgroundNormal("txtCourriel");
	}  		 	
	 
	 // ----------------- Téléphone ------------ //
	 if( !validerTelephone($F("txtTelephone01")+$F("txtTelephone02")+$F("txtTelephone03")) ) {
	 	// On le valide
		totalErr++;
	 	afficherChampErreur("txtTelephone01");
		
		try { afficherChampErreur("txtTelephone02"); } catch(e) {} // Vu qu'on a pas de label pour ce champ
		try { afficherChampErreur("txtTelephone03"); } catch(e) {} // Vu qu'on a pas de label pour ce champ
		
		if( langue == 'fr') {
			strMessage += "Le champ téléphone doit contenir uniquement des chiffres de 0 à 9. Ex: 4182488883.<br />";
		} else {
			strMessage += "The Phone Number must contains only numbers. Ex: 4182488883.<br />";
		}
		
	} else {
		setBackgroundNormal("txtTelephone01");
		 try { setBackgroundNormal("txtTelephone02"); } catch(e) {}
		  try { setBackgroundNormal("txtTelephone03"); } catch(e) {} 	
	}
	 
	 
	if( totalErr > 0 ) {
		afficherErreur(strMessage);
	} else {
		
		// On peut alors sauvegarder les données dans la bd
		var dataEtp01 = '';
		
		if( langue == 'fr' ) {
			veuillezPatienter("Transfert en cours, veuillez patienter...");
		} else {
			veuillezPatienter("Transfert in progress, please wait...");
		}
		
		// $("btnEnvoyer").disabled = 'disabled';
		masquerMessageErreur();
		
		objAjax = new Ajax();
		objAjax.async = false;
		dataEtp01 += "ssid="+ssid+"&";
		dataEtp01 += "nom="+$F("txtNom")+"&";
		dataEtp01 += "prenom="+$F("txtPrenom")+"&";
		dataEtp01 += "adresse="+$F("txtAdresse")+"&";
		dataEtp01 += "ville="+$F("txtVille")+"&";
		dataEtp01 += "IdProvince="+$F("lstProvinces")+"&";
		// =====================================
		// Changer le ID du pays en fonction de celui qui sera
		// sélectionné dans la liste déroulante (commande Intl).
		// =====================================
		dataEtp01 += "IdPays=1&";
		dataEtp01 += "codePostal="+$F("txtCodePostal01")+$F("txtCodePostal02")+"&";
		dataEtp01 += "courriel="+$F("txtCourriel")+"&";
		dataEtp01 += "telephone="+$F("txtTelephone01")+$F("txtTelephone02")+$F("txtTelephone03")+"&";
		dataEtp01 += "adresseConstruction="+$F("txtAdresseConstruction")+"&";
		dataEtp01 += "villeConstruction="+$F("txtVilleConstruction");
		
		try {
			objAjax.doPost("setAchat01Save.php",
				dataEtp01,
				handlerCallBackEtape01,
				"xml");
		} catch(e) { 
			
			if( langue == 'fr' ) {
				$("veuillezPatienter").innerHTML = "Une erreur est survenue lors de l'enregistrement de votre commande. Veuillez recommencer.";
				
			} else {
				$("veuillezPatienter").innerHTML = "An error occured while saving your informations. Please try again.";
			}
			
			$("btnEnvoyer").disabled = '';
		}	
	}	 
};

var handlerCallBackEtape01 = function() {
	document.location.href="achat02.php";
};

var validerCodePostalPart01 = function(str) {
	var pattern = /[a-zA-Z]\d[a-zA-Z]/;
	return( pattern.test(str) );
};

var validerCodePostalPart02 = function(str) {
	var pattern = /\d[a-zA-Z]\d/;
	return( pattern.test(str) );
};

var validerTelephone = function(str) {
	var pattern = /\d{10}/;
	return( pattern.test(str) );
};


var confirmerAnnulerEtape01 = function(plan, IdAchat) {
	
	if( langue == 'fr' ) {
		var conf = confirm("Désirez-vous vraiment annuler votre commande?");
	} else {
		var conf = confirm("Do you really want to cancel your order?");
	}
	
	if( conf ) {
			document.location.href="fiche.php?plan="+plan;
	}
};

var retourEtape = function(num, plan) {
	document.location.href= "achat0"+num+".php?plan="+plan;
};

var masquerInfosDejaPresentesBd = function() {
	// On vide tous les champs
	// dans achat01.php
	$("txtNom").value = '';
	$("txtPrenom").value = '';
	$("txtAdresse").value = '';
	$("txtVille").value = '';
	$("lstProvinces").selectedIndex = 8;
	$("txtCodePostal01").value = '';
	$("txtCodePostal02").value = '';
	$("txtCourriel").value = '';
	$("txtTelephone01").value = '';
	$("txtTelephone02").value = '';
	$("txtTelephone03").value = '';
	$("txtAdresseConstruction").value = '';
	$("txtVilleConstruction").value = '';
	$("btnEnvoyer").disabled = '';
	
    	new Effect.toggle('dejaClient', effectType='blind', {duration:0.14, afterFinish: focusNom}); 
};

var conserverInfosMasquer = function() {
	
	$("btnEnvoyer").disabled = '';
    	new Effect.toggle('dejaClient', effectType='blind', {duration:0.14, afterFinish: focusBtnNextEtape}); 
};

var masquerPopUpInfos = function() {
	$("btnEnvoyer").disabled = '';
	new Effect.toggle('dejaClient', effectType='blind', {duration:0.14, afterFinish: focusNom}); 
};

var masquerBtnMiseDeFonds = function() {
	new Effect.toggle('simulationConseil', effectType='blind', {duration:0.14}); 
};

var focusBtnNextEtape = function() {
	veuillezPatienter("Transfert en cours, veuillez patienter...");
	document.location.href= "achat02.php";
};

var focusNom = function() {
	$("txtNom").focus();
};

// ================ Saut case automatique ============== /
var switchCaseAuto = function(caseFrom, caseNext, tailleOKSaut) {
	if( $F(caseFrom).length == tailleOKSaut ) {
		$(caseNext).focus();
	}
};

var validerDateLivraison = function() {
	updateDateLivraison($F("lstAnnee")+"-"+$F("lstMois")+"-"+$F("lstJour"));	
};

// ==================== Update Date Livraison ===================== //
var updateDateLivraison = function(dateLiv) {
	
	veuillezPatienter("Transfert en cours, veuillez patienter...");
	
	objAjax = new Ajax();
	objAjax.async = false;
	
	var dataEtp02 = '';
	dataEtp02 = "dateLiv="+dateLiv;
	
	try {
		objAjax.doPost("setAchat02Save.php",
			dataEtp02,
			handlerCallBackEtape02,
			"xml");
	} catch(e) { 
		$("veuillezPatienter").innerHTML = "Une erreur ("+e+") est survenue lors de l'enregistrement de votre commande. Veuillez recommencer.";
		$("btnEnvoyer").disabled = '';
	}
	
};

var handlerCallBackEtape02 = function() {
	document.location.href="achat03.php";
};

var choisirOptionPaiement = function(type, checked) {
	typePaiement = type;
	keepTrackClickPaiement = !keepTrackClickPaiement;
	
	switch(type) {
		case 'VIR':
			$("chkOption1").checked = '';
			if( checked == true ) {
				$("txtMontantVirement").disabled = '';
				$("txtMontantVirement").focus();
				$("txtMontantVirement").select();	
			} else {
				$("txtMontantVirement").disabled = 'disabled';
				$("txtMontantVirement").value = '';
			}
		break;
		case 'PER':
			$("chkOption2").checked = '';
			$("txtMontantVirement").disabled = 'disabled';
			$("txtMontantVirement").value = '';
		break;
		case 'CRE':
			$("chkOption1").checked = '';
			$("chkOption2").checked = '';
			$("txtMontantVirement").disabled = 'disabled';
			$("txtMontantVirement").value = '';
			
			if( langue == 'fr' ) {
				veuillezPatienter("Connexion au serveur, veuillez patienter...");
			} else {
				veuillezPatienter("Connecting to server, please wait...");
			}
			
			$("btnEnvoyer").disabled = 'disabled';
		break;
	}
	
	if ( !checked && keepTrackClickPaiement == false ) {
		$("btnEnvoyer").disabled = 'disabled';
	} else {
		$("btnEnvoyer").disabled = '';
	}
};

var validerEtapeAchat03 = function() {

	var boolContinue = true;
	
	// Dans le cas que l'usager revienne d'une étape précédente
	// Blinde la fonction pour éviter que le typePaiement soit NUL
	// dans la table.
	if( typePaiement == null ) {
		if( $("chkOption1").checked == true ) {
			typePaiement = 'PER';
		} else if( $("chkOption2").checked == true ) {
			typePaiement = 'VIR';
		} else if( $("chkOption3").checked == true ) {
			typePaiement = 'CRE';
		} else {
			typePaiement = 'ERR';
		}
	}
	
	if( typePaiement == 'VIR' ) {
		// On vérifie s'il y a un montant d'inscrit dans l'accompte
		if( $F("txtMontantVirement").length == 0
			|| !formaterMontantAccompte($F("txtMontantVirement")) ) {
			// Erreur
			if( langue == 'fr' ) {
				afficherErreur("Le montant de l'accompte est invalide. Veuillez spécifier un montant dans le champ accompte.");
			} else {
				afficherErreur("The account amount field is empty. Please provide a valide amount in the account field.");
			}
			afficherChampErreur("txtMontantVirement");
			$("txtMontantVirement").focus();
			boolContinue = false;
		} else {
			masquerMessageErreur();
			setBackgroundNormal("txtMontantVirement");
		}
	}
	
	// Autrement, on peut continuer
	// En lancant la mise à jour des informations du paiement
	
	if( boolContinue ) {
		
		veuillezPatienter("Transfert en cours, veuillez patienter...");
		
		objAjax = new Ajax();
		objAjax.async = false;
		
		var dataEtp03 = '';
		
		dataEtp03 = "TypePaiement="+typePaiement;
		dataEtp03 += "&Montant="+$F("txtMontantVirement");
		
		try {
			objAjax.doPost("setAchat03Save.php",
				dataEtp03,
				handlerCallBackEtape03,
				"text");
		} catch(e) { 
			$("veuillezPatienter").innerHTML = "Une erreur ("+e+") est survenue lors de l'enregistrement de votre commande. Veuillez recommencer.";
			$("btnEnvoyer").disabled = '';
		}
		
	}	
};

var handlerCallBackEtape03 = function() {

	if( langue == 'fr' ) {
		veuillezPatienter("Connexion aux serveus Paypal, veuillez patienter...");
	} else {
		veuillezPatienter("Connecting to Paypal servers, please wait...");
	}
	
	if( typePaiement != "CRE" ) {
		document.location.href="achat04.php";
	}
};

var veuillezPatienter = function(str) {
	if( str != '' ) {
		$("veuillezPatienter").style.display = 'block';
		var outputHTML = '';
		outputHTML += "<table width=\"100%\ border=\"4\"><tr><td width=\"2%\"><img src=\"http://www.maisonlaprise.com/img/spinner.gif\" alt=\"Veuillez patienter...\" width=\"16\" height=\"16\" /></td><td><strong>"+str+"</strong></td></tr></table>";
		$("veuillezPatienter").innerHTML = outputHTML;	
	} else {
		$("veuillezPatienter").innerHTML = "&nbsp;";
	}
};


// 09-06-2007 - Nicolas Boulet-Lavoie
// Pré: str (montant, string): Variable texte comportant l'expression du montant.
// Post: str (montant, string): Chaîne de texte contenant le montant formaté (sans
// les caractères spéciaux (ex: $, espace)
// Cette fonction permet de formater un montant fourni en string valide pour bd.
var formaterMontantAccompte = function(str) {
	return( isFloat(str) );
};

// ================ Différence 2 dates ============= /
function getTimeBetween(from, until)
{
  var past = from == '' ? new Date() : new Date(from);
  var future = until == '' ? new Date() : new Date(until);

  if (past >= future)
  {
    var tmp = past;
    past = future;
    future = tmp;
  }

  var between = [
      future.getFullYear() - past.getFullYear(),
      future.getMonth() - past.getMonth(),
      future.getDate() - past.getDate()
  ];

  if (between[2] < 0)
  {
    between[1]--;
    var ynum = future.getFullYear();

    var mlengths = [
        31,
        (ynum % 4 == 0 && ynum % 100 != 0 || ynum % 400 == 0) ? 29 : 28,
        31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    ];

    var mnum = future.getMonth() - 1;
    if (mnum < 0) { mnum += 12; }

    between[2] += mlengths[mnum];
  }

  if (between[1] < 0)
  {
    between[0]--;
    between[1] += 12;
  }

  return between;
}

function getDayName(thedate)
{
  var dnames = ['Dimanche', 'Lundi', 'Mardi', 'Mercredi',
      'Jeudi', 'Vendredi', 'Samedi', 'Dimanche'];

  var today = new Date(thedate);

  return dnames[today.getDay()];
}

function dateInSomeDays(n)
{
  var today = new Date();

  var seconds = today.getTime();
  seconds += n * 86400000;

  return new Date(seconds);
}

function formatTimeBetween(difference)
{
  var str = ''

  if (difference[0] > 0)
  {
    str += difference[0] + ' year';
    str += difference[0] == 1 ? '' : 's';
    if (difference[1] > 0)
    {
      str += difference[2] > 0 ? ', ' : ' and ';
    }
    else
    {
      str += difference[2] > 0 ? ' and ' : '';
    }
  }

  if (difference[1] > 0)
  {
    str += difference[1] + ' month';
    str += difference[1] == 1 ? '' : 's';
    str += difference[2] > 0 ? ' and ' : '';
  }

  if (difference[2] > 0)
  {
    str += difference[2] + ' day';
    str += difference[2] == 1 ? '' : 's';
  }

  return str;
}

String.prototype.pad = function(l, s, t){
	return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
	+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
	+ this + s.substr(0, l - t) : this;
}; 


//----------------------------------- IMAGE 3D ------------------------------------//
var switchImg3D = function(img) {

	switch(img) {
	
		case 'base.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';	
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue 3D";
			else
				$("nomVueActive").innerHTML = "3D View";		
		break;
		
		case '02planchers.jpg':
			$("plancherItems").style.display = 'block';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue des planchers";
			else
				$("nomVueActive").innerHTML = "Floors View";
				
		break;
		
		case '03murs.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'block';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue du mur Laprise";
			else
				$("nomVueActive").innerHTML = "Laprise Walls View";	
		break;
		
		case '04mursInterieurs.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'block';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue des murs intérieurs";
			else
				$("nomVueActive").innerHTML = "Interior Wall View";	
		break;
		
		case '05fenetres.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'block';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue des fenêtres";
			else
				$("nomVueActive").innerHTML = "Windows View";

		break;
		
		case '06toit.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'block';
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue de la toiture";
			else
				$("nomVueActive").innerHTML = "Roof View";
				
		break;
		
		case '07plafond.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';	
			$("plafItems").style.display = 'block';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';

			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue des plafonds";
			else
				$("nomVueActive").innerHTML = "Ceiling View";
			
		break;
		
		case '10finitionint.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';	
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'block';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue de la finition intérieure";
			else
				$("nomVueActive").innerHTML = "Interior finishes View";
				
		break;		
		
		case '09finitionext.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';	
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'block';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'none';
			
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Vue de la finition extérieure";
			else
				$("nomVueActive").innerHTML = "Exterior finishes View";
				
		break;
		
		case '11livraison.jpg':
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';	
			$("plafItems").style.display = 'none';
			$("finInt").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
			$("livraison").style.display = 'block';
			img = "base.jpg";
			if( langue == 'fr' )
				$("nomVueActive").innerHTML = "Livraison";
			else
				$("nomVueActive").innerHTML = "Shipping";
				
		break;
		
		default:
			$("finInt").style.display = 'none';
			$("plancherItems").style.display = 'none';
			$("murItems").style.display = 'none';
			$("feneItems").style.display = 'none';
			$("toitItems").style.display = 'none';
			$("plafItems").style.display = 'none';
			$("finExt").style.display = 'none';
			$("murInter").style.display = 'none';
		break;
	}
	
	$("img3D").src = "img/3d/"+img;
};


var switchClass = function(id) {
	for(var i=1; i <= 10; i++) {
		if( i == id ) {
			$("cat"+i).className = "itemAccNav2_on";
		} else {
			$("cat"+i).className = "itemAccNav2_off";
		}
	}
};


function getXYImage(obj) {
	var curleft = curtop = 0;
	
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		
		curtop = obj.offsetTop
		
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	
	return [curleft,curtop];
} 

// Valider si une chaîne de caractère est une float
function isFloat(strString) {
	// Pattern excluant les nombres négatifs.
	var pattern = /^\d+(\.\d+)?$/;
	
	if( strString.match(pattern) ) {
		return true;
	} else {
		return false
	}
}


/*
	Gestion du type d'achat possible en fonction du clique
	sur le lien Plan (en-tête des sites)
	1 : Modèles de maison selon mon budget
	2 : Sans Budget
*/
var afficherFenBudPlans = function() {
	// On utilise la librairie Leightbox
	document.getElementById("popUpPlans").style.display = 'block';
	document.getElementById("fade").style.display = 'block';
};

var afficherPopUpConseiller = function() {
	// On utilise la librairie Leightbox
	$("popUpConseiller").style.display = 'block';
	$("fade").style.display = 'block';
};

var fermerPopUpConseiller = function() {
	// On utilise la librairie Leightbox
	$("popUpConseiller").style.display = 'none';
	$("fade").style.display = 'none';
};

var afficherPopUpPays = function() {
	// On utilise la librairie Leightbox
	$("popUpPaysDevise").style.display = 'block';
	$("fade").style.display = 'block';
};

var fermerPopUpPays = function() {
	// On utilise la librairie Leightbox
	$("popUpPaysDevise").style.display = 'none';
	$("fade").style.display = 'none';
};

var fermerFenBudPlans = function() {
	// On utilise la librairie Leightbox
	document.getElementById("popUpPlans").style.display = 'none';
	document.getElementById("fade").style.display = 'none';
};

var allerPageBudget = function() {
	fermerFenBudPlans();
	document.location.href = "budget01.php";   	
};

var allerRechercheNormale = function() {
	fermerFenBudPlans();
	document.location.href = "recherche.php";		
};

var voirSimPrec = function() {
	url = "simulredirection.php?sim="+$("lstSimEnr").value;
	document.location.href=url;
};

// simulation.php
var ajouterNumeroDossier = function(IdSimulation, Numero) {
	if( globalIdSimulation == null ) {
		globalIdSimulation = IdSimulation;
	}
	
	objAjax = new Ajax();
	objAjax.async = false;
	try {
		objAjax.doGet("updateModeleSimulation.php?IdSimulation=" + globalIdSimulation+"&Numero="+Numero,
			ajouterNumeroDossier_handler,
			"text");
	} catch(e) { alert(e); }	
};


// ------------------------------------------------------------------------
// Fonction permettant d'aller récupérer tous les modèles pour une
// simulation donnée.
// ------------------------------------------------------------------------
var miseAJourModSimulation = function() {
	objAjax = new Ajax();
	objAjax.async = false;
	
	try {
		objAjax.doGet("getModeleSimulation.php?IdSimulation=" + globalIdSimulation,
			miseAJourModSimulation_handler,
			"xml");
	} catch(e) {  }	
};

// ------------------------------------------------------------------------
// Handler dans lequel l'élément HTML sera updaté
// ------------------------------------------------------------------------
var miseAJourModSimulation_handler = function() {
	
	var titreNumero = '';
	var titreSupp = '';
	var dossierVide=  '';
	var titreBtnComp = '';

	if( langue == 'fr' ) {
		titreNumero = "Modèle";
		titreSupp = "Supprimer";
		dossierVide = "Votre dossier de simulation est vide.";
		titreBtnComp = 'Comparer modèles';
	} else {
		// Anglais
		titreNumero = "Model";
		titreSupp = "Delete";
		dossierVide = "Your simulation folder is empty.";
		titreBtnComp = 'Compare models';
		
	}

	
	// Contenu HTML des plans
	var dataHTML = "<table width=\"100%\" border=\"0\" cellpadding=\"4\" cellspacing=\"0\">\n";
	dataHTML += "\t<tr>\n";
	dataHTML += "\t<td align=\"center\"><input type=\"checkbox\" id=\"chkAll\" name=\"chkAll\" onclick=\"checkAllNumeros(this.checked);\" /></td>\n";
	dataHTML += "\t<td align=\"center\">"+titreNumero+"</td>\n";
	dataHTML += "\t<td align=\"center\">"+titreSupp+"</td>\n";
	dataHTML += "\t</tr>\n";
	
	// On peut le parser
	try {
		var objXML = objAjax.responseXML;
		var Numeros = objXML.getElementsByTagName("Numeros")[0].getElementsByTagName("Numero");
		for(i=0; i< Numeros.length; i++) {
			var clsBg = '';
			if( i % 2 == 0 ) {
				clsBg = "altPlanSim";
			} else {
				clsBg = "";
			}
			
			var num = Numeros[i].firstChild.nodeValue;					
			var HTMLCase = "<input type=\"checkbox\" class=\"comparerPlan\" id=\"chkId"+num+"\" name=\"chkId"+num+"\" />";
			dataHTML += "<tr><td align=\"center\" class=\""+clsBg+"\">"+HTMLCase+"</td><td align=\"center\" class=\""+clsBg+"\"><a href=\"fiche.php?plan="+num+"\">"+num+"</a></td><td align=\"center\" class=\""+clsBg+"\"><img src=\"img/icoTrash.gif\" width=\"16\" height=\"15\" alt=\"Supprimer\" onclick=\"supprimerNum('"+num+"');\" title=\"Supprimer ce plan\" /></td></tr>";
		}
		
		// Ajout du bouton comparer
		if( i > 1) {
			dataHTML += "<tr><td align=\"center\"><img src=\"img/icoComparer.gif\" width=\"14\" height=\"16\" /></td><td colspan=\"2\"><input type=\"button\" value=\""+titreBtnComp+"\" onclick=\"comparerPlans();\" /></td></tr>";
		} else if( i == 0 ) {
			dataHTML +=  "<tr><td colspan=\"3\" class=\"altPlanSim\"><i>"+dossierVide+"</i></td></tr>";
		}
		
		dataHTML += "</table>";
		$("dossierSimulation").innerHTML = dataHTML;
		
		
	} catch(e) {}	
	
	verifierTotalNumeros();
};

// Affichage des modèles choisits par le client pendant la simulation
var ajouterNumeroDossier_handler = function() {
	// Callback
	miseAJourModSimulation();
};


// ------------------------------------------------------------------------
// Fonction permettant de supprimer un numéro dans la liste de
// la simulation active.
// ------------------------------------------------------------------------
var supprimerNum = function(num, IdSimulation) {

	if( globalIdSimulation == null ) {
		globalIdSimulation = IdSimulation;
		ajouterNumeroDossier(IdSimulation, num);
	} else {
		ajouterNumeroDossier(globalIdSimulation, num);
	}
	
	try {
		document.getElementById("chkIdW"+num).checked = "";
	} catch(e) { }
	
	if( globalboolCoche ) {
		checkAllNumeros(true);
	}
	
	verifierTotalNumeros();
};

// ------------------------------------------------------------------------
// Fonction permettant de cocher tous les numéros de modèles
// dans la boîte de l'usager.
// ------------------------------------------------------------------------
var checkAllNumeros = function(boolCoche) {
	globalboolCoche = boolCoche;
	var collPlans = document.getElementsByTagName("input");
	for( var i = 0; i < collPlans.length; i++) {
		if( collPlans[i].className == "comparerPlan" ) {
			collPlans[i].checked = boolCoche;
		}
	}
	if( globalboolCoche == true) {
		document.getElementById("chkAll").checked = "checked";
	} else {
		document.getElementById("chkAll").checked = "";
	}
};

// ------------------------------------------------------------------------
// Fonction permettant de compter le nombr de modèles dans le
// panier de sélection.
// ------------------------------------------------------------------------
var verifierTotalNumeros = function() {
	intCompteurModeles = 0;
	var collPlans = document.getElementsByTagName("input");
	for( var i = 0; i < collPlans.length; i++) {
		if( collPlans[i].className == "comparerPlan" ) {
			intCompteurModeles++;
		}
	}
	return( intCompteurModeles );	
};

// ------------------------------------------------------------------------
// Fonction permettant de comparer plusieurs modèles entre eux.
// ------------------------------------------------------------------------
var comparerPlans = function() {
	var arrComp = new Array();
	var regchkId = /chkId/;
	var collPlans = document.getElementsByTagName("input");
	
	for( var i = 0; i < collPlans.length; i++) {
		if( collPlans[i].className == "comparerPlan" ) {
			if( collPlans[i].checked ) {
				// On retire le chkId de la string Id de l'élément
				var bibon = collPlans[i].getAttribute("id");
				bibon = bibon.replace(regchkId, "");
				arrComp.push(bibon);
			}
		}
	}

	if( arrComp.length > 1 ) {	
	
		// Ajout des modèles à comparer au DIV zoneComparaison
		var bufferHTML = "";
	
		var titreNumero = '';
		var titrePlanOr = '';
		var titreCout = '';
		var titreGrand = '';
		var titreEtage = '';
		var titreCham = '';
		var titreGara = '';
		var titreGrGa = '';
		var titreLoading = '';
		var titreFenComp = '';
		var urlImageVoir = '';
		var texteVoir = '';
		
		if( langue == 'fr' ) {
			 titreNumero = 'Modèle';
			 titrePlanOr = 'Plan Or';
			 titreCout = 'Prix du kit';
			 titreGrand = 'Grandeur';
			 titreEtage = 'Étage(s)';
			 titreCham = 'Chambre(s)';
			 titreGara = 'Garage';
			 titreGrGa = 'Gr. Garage';
			 titreLoading = 'Chargement...';
			 titreFenComp = 'Fermer la fenêtre de comparaison';
			 urlImageVoir = "img/imgvoirplan_fr.jpg";
			 texteVoir = 'Voir ce modèle';
		} else {
			// Anglais
			 titreNumero = 'Model';
			 titrePlanOr = 'Gold Plan';
			 titreCout = 'Kit Price';
			 titreGrand = 'Size';
			 titreEtage = 'Storey(s)';
			 titreCham = 'Bedroom(s)';
			 titreGara = 'Garage';
			 titreGrGa = 'Gar. Size';
			 titreLoading = 'Loading...';
			 titreFenComp = 'Close the comparison window';
			 urlImageVoir = "img/imgvoirplan_en.jpg";
			 texteVoir = 'View this model';
		}
		
		// Construction du tableau
		bufferHTML += "<table width=\"100%\" cellpadding=\"10\" cellspacing=\"0\">\n";
		
		var zoneImage = "<tr><td>&nbsp;</td>";
		var zoneNumero = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreNumero+"</strong></td>";
		var zonePlanOr = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titrePlanOr+"</strong></td>";
		var zoneCout = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreCout+"</strong></td>";
		var zoneGrandeur = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreGrand+"</strong></td>";
		var zoneEtages = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreEtage+"</strong></td>";
		var zoneChambres = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreCham+"</strong></td>";
		var zoneGarage = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreGara+"</strong></td>";
		var zoneGarageSurface = "<tr><td align=\"right\" nowrap=\"nowrap\"><strong>"+titreGrGa+"</strong></td>";
		var optModele = "<tr><td>&nbsp;</td>";
		
		// Titre
		bufferHTML += "<tr><td colspan=\""+(arrComp.length+1)+"\"><div id=\"titreFermerSimulation\" onclick=\"masquerCompPlans();\">"+titreFenComp+"</div></td></tr>\n";
		
		for( var i =0; i < arrComp.length; i++ ) {
			
			// Numéro
			zoneImage += "<td><img src=\"http://www.maisonlaprise.com/plans/Plan3D/"+arrComp[i]+".jpg\" width=\"100\" height=\"70\" /></td>";
			zoneNumero += "<td><strong>"+arrComp[i]+"</strong></td>";
			zonePlanOr += "<td id=\"PlanOr"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneCout += "<td id=\"Cout"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneGrandeur += "<td id=\"Grandeur"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneEtages += "<td id=\"Etages"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneChambres += "<td id=\"Chambres"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneGarage += "<td id=\"Garage"+arrComp[i]+"\">"+titreLoading+"</td>";
			zoneGarageSurface += "<td id=\"GarageSurface"+arrComp[i]+"\">"+titreLoading+"</td>";
			optModele += "<td align=\"center\"><a href=\"fiche.php?plan="+arrComp[i]+"\" title=\""+texteVoir+"\" onclick=\"masquerCompPlans();\"><img src=\""+urlImageVoir+"\" width=\"106\" height=\"23\" alt=\""+arrComp[i]+"\" /></a></td>";
		}
		
		// Ajout des zones
		bufferHTML += zoneImage;
		bufferHTML += zoneNumero;
		bufferHTML += zonePlanOr;
		bufferHTML += zoneCout;
		bufferHTML += zoneGrandeur;
		bufferHTML += zoneEtages;
		bufferHTML += zoneChambres;
		bufferHTML += zoneGarage;
		bufferHTML += zoneGarageSurface;
		bufferHTML += optModele;
		
		// Termine le tableau
		zoneNumero += "</tr>";
		zonePlanOr += "</tr>";
		zoneCout += "</tr>";
		zoneGrandeur += "</tr>";
		zoneEtages += "</tr>";
		zoneChambres += "</tr>";
		zoneGarage += "</tr>";
		zoneGarageSurface += "</tr>";
		optModele += "</tr>";
		

		bufferHTML += "</table>\n";
		
		$("zoneComparaison").innerHTML = bufferHTML;
		afficherCompPlans();
		obtenirInfo(arrComp);

	} else {
		if( langue == 'fr' )
			alert('Pour comparer, vous devez avoir préalablement choisi au moins 2 modèles dans votre dossier.');
		else
			alert('To compare, you must have selected at last 2 models in your folder.');
	}
};

var obtenirInfo = function(Numero) {
	objAjax = new Ajax();	
	objAjax.async = false;
	try {
		objAjax.doGet("getInfoModeleComp.php?plan=" + Numero,
			obtenirInfo_handler,
			"xml");
	} catch(e) { alert(e); }	
};

var obtenirInfo_handler = function() {
	try {
		var objXML = objAjax.responseXML;
		var Numeros = objXML.getElementsByTagName("Numeros")[0].getElementsByTagName("Numero");
		
		for(i=0; i< Numeros.length; i++) {
			var Num = Numeros[i].getElementsByTagName("Plan")[0].firstChild.nodeValue; 
			
			// Plan Or ? http://www.maisonlaprise.com/img/lingot.gif
			// Id: PlanOr
			var repPlanOr = Numeros[i].getElementsByTagName("PlanOr")[0].firstChild.nodeValue; 
			if( repPlanOr == '1' ) {
				if( langue == 'fr' )
					$("PlanOr"+Num).innerHTML = "Oui";
				else
					$("PlanOr"+Num).innerHTML = "Yes";
			} else {
				if( langue == 'fr' )
					$("PlanOr"+Num).innerHTML = "Non";
				else
					$("PlanOr"+Num).innerHTML = "No";
			}
			
			$("Cout"+Num).innerHTML = Numeros[i].getElementsByTagName("Cout")[0].firstChild.nodeValue; 
			
			if( langue == 'fr' )
				$("Grandeur"+Num).innerHTML = Numeros[i].getElementsByTagName("SurfacePieds")[0].firstChild.nodeValue + " p<sup>2</sup>";
			else
				$("Grandeur"+Num).innerHTML = Numeros[i].getElementsByTagName("SurfacePieds")[0].firstChild.nodeValue + " ft<sup>2</sup>";
			
			$("Etages"+Num).innerHTML = Numeros[i].getElementsByTagName("Etages")[0].firstChild.nodeValue;
			$("Chambres"+Num).innerHTML = Numeros[i].getElementsByTagName("Chambres")[0].firstChild.nodeValue;
		
			// Est-ce que cette maison possède un garage?
			var repGarage = Numeros[i].getElementsByTagName("SurfacePiedsGarage")[0].firstChild.nodeValue;
			if( repGarage > 0) {
				if( langue == 'fr' ) {
					$("Garage"+Num).innerHTML = "Oui";
					$("GarageSurface"+Num).innerHTML = repGarage + " p<sup>2</sup>";
				}	else {
					$("Garage"+Num).innerHTML = "Yes";
					$("GarageSurface"+Num).innerHTML = repGarage + " ft<sup>2</sup>";
				}
			} else {
				if( langue == 'fr' )
					$("Garage"+Num).innerHTML = "Non";
				else
					$("Garage"+Num).innerHTML = "No";
				$("GarageSurface"+Num).innerHTML = "-";
			}
		}	
		
	} catch(e) {
		alert(e);
	}
};

var afficherCompPlans = function() {
	$("zoneComparaison").style.display = 'block';
	// $("ombre").style.display = 'block';
};

var masquerCompPlans = function() {
	$("zoneComparaison").style.display = 'none';
	// $("ombre").style.display = 'none';	
};

// ------------------------------------------------------------------------
// Fonction permettant d'afficher la confirmation de l'impression
// ------------------------------------------------------------------------
var afficherImpSimulation = function() {
	var total = verifierTotalNumeros();
	if( total == 0 || total == null ) {
		var txtConf = '';
		if( langue == 'fr' ) {
			txtConf = "Votre n'avez sélectionné aucun modèle. Désirez-vous imprimer sans aucun modèle inclus à votre simulation?";
		} else {
			txtConf = "Your have not selected any model yet. Do you really want to print without any model included your simulation?";
		}
		var cfImp = confirm(txtConf);
		
		if( cfImp ) {
			$("zoneImpression").style.display = 'block';
			$("ombre2").style.display = 'block';
			masquerMessageErreur();
			masquerVeuillezPatienter();
			$("txtNom").focus();	
		}
	} else {
		$("zoneImpression").style.display = 'block';
		$("ombre2").style.display = 'block';
		masquerMessageErreur();
		masquerVeuillezPatienter();
		$("txtNom").focus();		
	}
};
var masquerImpSimulation = function() {
	$("zoneImpression").style.display = 'none';
	$("ombre2").style.display = 'none';	
};

// -------------------------------------------------------------------------
// Fonction permettant de valider l'impression de la simulation.
// -------------------------------------------------------------------------
var confImpSimulation = function(IdSimulation) {
	
	// Validation des champs
	 var totalErr = 0;
	 var strMessage = '';
	 var dataEtp01 = '';
	 
	 // ----------------- Nom de famille ------------ //
	 if( $F("txtNom") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtNom");
		if( langue == 'fr') {
			strMessage += "Le champ nom est incomplet.<br />";
		} else {
			strMessage += "The Last Name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtNom");
	 }
	 
	 // ----------------- Prénom ------------ //
	 if( $F("txtPrenom") == '' ) {
	    totalErr++;
	    afficherChampErreur("txtPrenom");
		if( langue == 'fr') {
			strMessage += "Le champ prénom est incomplet.<br />";
		} else {
			strMessage += "The First Name field is incomplete.<br />";
		}
	 } else {
	    setBackgroundNormal("txtPrenom");
	 }	 

	 // ----------------- Votre courriel ------------ //
	 if( !validerEmail($F("txtCourriel") ) ) {
	    totalErr++;
	    afficherChampErreur("txtCourriel");
		if( langue == 'fr') {
			strMessage += "Le courriel spécifié est invalide ou ne suis pas le format vous@domaine.com.<br />";
		} else {
			strMessage += "The email field is invalid or doesn't follow the following format you@domain.com.<br />";
		}
	 } else {
	    setBackgroundNormal("txtCourriel");
	 }
	 
	if( totalErr > 0 ) {
		afficherErreur(strMessage);
	} else {
		masquerMessageErreur();
		
		if( langue == 'fr' ) {
			veuillezPatienter("Connexion au serveur Paypal, veuillez patienter...");
		} else {
			veuillezPatienter("Connecting to Paypal servers, please wait...");
		}

		dataEtp01 += "IdSimulation="+IdSimulation+"&";
		dataEtp01 += "nom="+$F("txtNom")+"&prenom="+$F("txtPrenom")+"&";
		dataEtp01 += "courriel="+$F("txtCourriel")
		
		objAjax = new Ajax();	
		objAjax.async = false;
		try {
			objAjax.doPost("savePrintSimulation.php",
				dataEtp01,
				confImpSimulation_handler,
				"xml");
		} catch(e) {
			if( langue == 'fr' )
				afficherErreur("Une erreur ("+e+") est survenue pendant la sauvegarde des informations. Veuillez réessayer.");
			else
				afficherErreur("An error ("+e+") while transfering your information. Please try again.");
		}		
	}
};

var confImpSimulation_handler = function() {
	var objXML = objAjax.responseXML;
	var rep = objXML.getElementsByTagName("retour")[0].firstChild.nodeValue;
	if( rep == "OK" ) {
		if( langue == 'fr' )
			veuillezPatienter("Génération du rapport d'impression de simulation. Veuillez patienter...");
		else
			veuillezPatienter("Generating printing report. Please wait...");
		document.location.href= "impsimulation.php";
	} else {
		if( langue == 'fr' )
			afficherErreur("Une erreur est survenue pendant la sauvegarde des informations. Veuillez réessayer.");
		else
			afficherErreur("An error occured while trying to generate the printing report. Please try again.");
		
	}
};

var masquerVeuillezPatienter = function() {
	$("veuillezPatienter").innerHTML = '';
	$("veuillezPatienter").style.display = 'none';	
};

var confNouvelleSim = function() {

	var texteConfirm = '';
	
	if( langue == 'en' )
		texteConfirm = "Are you sure you want to create a new simulation?";
	else
		texteConfirm = "Êtes-vous certain de vouloir créer une nouvelle simulation?";

	if(confirm(texteConfirm) ) {
		document.location.href="budget01.php?sim=nouv";
	}
};

var validerCodePostalReel = function(cp) {
	
	var rep = false;
	
	if( cp != '' ) {
		// On lance la validation réelle du code postal.
		var ajax = false;
		
		if(window.XMLHttpRequest) {
			try {
				ajax = new XMLHttpRequest();
			} catch(e) {
				ajax = false;
			}
		} else if(window.ActiveXObject) {
			try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					ajax = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					ajax = false;
				}
			}
		}
		
		if(ajax) {
			try {
				if (document.implementation && document.implementation.createDocument) {
					ajax.onload = function() {
						if( ajax.readyState == 4 && ajax.status == 200 ){
							if( ajax.responseText == "1" ) {
								rep = true;
							} else {
								rep = false;
							}
						}
					}
				} else {
					ajax.onreadystatechange = function() {
						if( ajax.readyState == 4 && ajax.status == 200 ){
							if( ajax.responseText == "1" ) {
								rep = true;
							} else {
								rep = false;
							}
						}
					}
				}
				ajax.open("GET", "verifierCP.php?cp="+cp+"&from=simulation", false);
				ajax.send(null);
				
			} catch(e) { }
		}	
	}
	
	return rep;
};

///////////////////////////////////////////////////////
// Validation du code postal pour l'étape 3
//////////////////////////////////////////////////////
var envoyerEtape03 = function() {
	
	var intTotalErr = 0;
	var strMessage = "";
	
	// On place un disabled sur le bouton
	$("btnEtp03").disabled = 'disabled';
	
	if( langue == 'fr' ) {
		$("btnEtp03").setAttribute("value", "Veuillez patienter, calculs en cours...");
		veuillezPatienter("Veuillez patienter, calculs en cours...");
	} else {
		veuillezPatienter("Please wait, calculating in progress...");
		$("btnEtp03").setAttribute("value", "Please wait, calculating in progress...");
	}
	
	// On valide les 2 portions du code postal
	var pattern = /[a-zA-Z]\d[a-zA-Z]\d[a-zA-Z]\d/;
	if( pattern.test($F("CodePostal")) == false ) {
		
		intTotalErr++;
		
		// Erreur dans le code postal
		if( langue == 'fr') {
			strMessage += "Le code postal ne respecte pas le bon format. Ex: G5V 3L5.<br />";
		} else {
			strMessage += "The Zip Code doesn't match the right format. Ex: G5V 3L5.<br />";
		}
		$("btnEtp03").disabled = '';
			
	} else if( validerCodePostalReel($F("CodePostal")) == false ) {
		
		intTotalErr++;
		
		// Erreur dans le code postal
		if( langue == 'fr') {
			strMessage += "Vode code postal n\'est pas un code postal canadien reconnu. Veuillez svp inscrire un code postal valide.<br />";
		} else {
			strMessage += "Your zip code is not a recognized Canadian postal code. Please write a valid postal code.<br />";
		}
		
		$("btnEtp03").disabled = '';	
	}
	
	// On valide également la tranche d'âge de la simulation
	if( $("lstTrancheAge").value == "0" ) {
		intTotalErr++;
		
		// Erreur dans le code postal
		if( langue == 'fr') {
			strMessage += "Veuillez faire un choix valide dans la liste tranche d'âge.<br />";
		} else {
			strMessage += "Please make a choice in the age group list.<br />";
		}
		
		$("btnEtp03").disabled = '';
	}
	
	if( $("budgetERP") && $("budgetERP").value == "" ) {
		intTotalErr++;
		
		// Erreur dans le code postal
		if( langue == 'fr') {
			strMessage += "Veuillez entrer un montant valide pour le budget du client.<br />";
		} else {
			strMessage += ".<br />";
		}
		
		$("btnEtp03").disabled = '';
	}
	
	if( intTotalErr > 0 ) {
		afficherErreur(strMessage);
	} else {
		
		if( langue == 'fr' ) {
			$("btnEtp03").setAttribute("value", "Finaliser et voir les modèles disponibles selon mon budget");
		} else {
			$("btnEtp03").setAttribute("value", "Complete my financial simulation and see what models I can afford");
		}
		
		masquerMessageErreur();
		setBackgroundNormal("CodePostal");
		// On peut alors soumettre le formulaire
		$("formEtp03").submit();
	}
};

// Fonction permettant d'afficher la fiche d'un produit dans la maison 3D
var afficherFiche = function(id) {
	alert(id);
};


// ================================================
//										BUDGET													
// ================================================
var ajoutOwing = function() {
	var i = 2, intTrouve = -1;
	do {
		if( arrOwing[i] == "none" ) {
			intTrouve = i;
		}
		i++;
	} while( intTrouve == -1 && ( i < arrOwing.length ) );

	if( intTrouve > -1 ) {
		$("trNum_Owing"+intTrouve).style.display = 'block';
		arrOwing[intTrouve] = 'block';
	}	
};

var suppOwing = function(id) {
	// On vide les champs avant
	$("Num_Owing"+id).value = '0';
	$("Num_Loan"+id).value = '0';
	$("trNum_Owing"+id).style.display = 'none';
	arrOwing[id] = 'none';
};

var initOwing = function(arrInit) {
	for(i=intOwing; i <= maxIntOwing; i++) {
		arrOwing[i] = arrInit[i];
	}
};

var ajoutCredit = function() {
	var i = 2, intTrouve = -1;
	do {
		if( arrCredit[i] == "none" ) {
			intTrouve = i;
		}
		i++;
	} while( intTrouve == -1 && ( i < arrCredit.length ) );

	if( intTrouve > -1 ) {
		$("trCredit"+intTrouve).style.display = 'block';
		arrCredit[intTrouve] = 'block';
	}	
};

var suppCredit = function(id) {
	$("Credit"+id).value = '';
	$("CCard"+id).value = '0';
	$("trCredit"+id).style.display = 'none';
	arrCredit[id] = 'none';
};

var initCredit = function(arrInit) {
	for(i=intCredit; i <= maxIntCredit; i++) {
		arrCredit[i] = arrInit[i];
	}
};

var ajoutLCredit = function() {
	var i = 2, intTrouve = -1;
	do {
		if( arrLCredit[i] == "none" ) {
			intTrouve = i;
		}
		i++;
	} while( intTrouve == -1 && ( i < arrLCredit.length ) );

	if( intTrouve > -1 ) {
		$("trLCredit"+intTrouve).style.display = 'block';
		arrLCredit[intTrouve] = 'block';
	}	
};

var suppLCredit = function(id) {
	$("TLCredit"+id).value = '';
	$("LCredit"+id).value = '0';
	$("trLCredit"+id).style.display = 'none';
	arrLCredit[id] = 'none';
};

var initLCredit = function(arrInit) {
	for(i=intLCredit; i <= maxIntLCredit; i++) {
		arrLCredit[i] = arrInit[i];
	}
};


var validerBudget01 = function() {
	
	// Validation des champs
	 var totalErr = 0;
	 var strMessage = '';
	 var errLoan = 0;
	 var errCredit = 0;
	 var errLCredit = 0;
	 
	 // Nom de la simulation
	 if( $F("NomSimulation").length == 0 ) {
	    totalErr++;
	    afficherChampErreur2("NomSimulation");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#NomSimulation\">Nom de la simulation</a> est incomplet.<br />";
		} else {
			strMessage += "The <a href=\"#NomSimulation\">Simulation Name</a> field is empty.<br />";
		}
	 } else {
	    setBackgroundNormal2("NomSimulation");
	 }
	 
	 // Validation des champs financiers (Year_Inc1)
	 if( !isFloat($F("Year_Inc1")) 
	 	|| $F("Year_Inc1").length == 0 
	 	|| $F("Year_Inc1") <= 0 ) {
	    totalErr++;
	    afficherChampErreur2("Year_Inc1");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#Year_Inc1\" title=\"Voir ce champ\">Revenu annuel brut</a> est incomplet ou ne respecte pas le format suivant. Ex: 30000.<br />";
		} else {
			strMessage += "The <a href=\"#Year_Inc1\">Your gross annual income</a> field is empty or doesn't follow the right format. Ex: 30000.<br />";
		}
	 } else {
	    setBackgroundNormal2("Year_Inc1");
	 }

	 // Validation des champs financiers (Year_Inc2)
	 if( ($F("Year_Inc2") != 0 || $F("Year_Inc2").length > 1) ) {
	 	// On valide alors si le nombre est valide
		 if( !isFloat($F("Year_Inc2")) 
		 	|| $F("Year_Inc2").length == 0 
		 	|| $F("Year_Inc2") <= 0 )
		 	{
				totalErr++;
				afficherChampErreur2("Year_Inc2");
				if( langue == 'fr') {
					strMessage += "Le champ <a href=\"#Year_Inc2\" title=\"Voir ce champ\">Revenu annuel brut de votre coemprunteur/conjoint</a> est incomplet ou ne respecte pas le format suivant. Ex: 30000.<br />";
				} else {
					strMessage += "The <a href=\"#Year_Inc2\">Your co-borrower/spouse's gross annual income</a> field is empty or doesn't follow the right format. Ex: 30000.<br />";
				}
		 } else {
		 	setBackgroundNormal2("Year_Inc2");
		 }
	}
	
	// ================== Valide les dettes ================== //
	for(var i=1; i <=maxIntOwing; i++) {
		// Validation du champ si != 0 et > 1
		var objSom = $F("Num_Owing"+i);
		var objMen = $F("Num_Loan"+i);
		
		if( objSom != 0 || objMen != 0 ) {
		
				if( !isFloat(objSom) ) {
					totalErr++;
					errLoan++;
					afficherChampErreur2("Num_Owing"+i);
				} else {
					setBackgroundNormal2("Num_Owing"+i);
				}
				
				if( !isFloat(objMen) ) {
					totalErr++;
					errLoan++;
					afficherChampErreur2("Num_Loan"+i);
				} else {
					setBackgroundNormal2("Num_Loan"+i);
				}
		}
	}
	
	if( errLoan > 0 ) {
		if( langue == 'fr') {
			strMessage += "La section <a href=\"#trNum_Owing1\">Vos dettes</a> contient des champs erronnés.<br />";
		} else {
			strMessage += "The section <a href=\"#trNum_Owing1\">Your debts</a> contains errors.<br />";
		}
	}
	
	// ============== Valide les cartes de crédit ============== //
	for(var i=1; i <=maxIntCredit; i++) {
		// Validation du champ si != 0 et > 1
		var objSom = $F("Credit"+i);
		var objMen = $F("CCard"+i);
		
		if( objSom != '' || objMen != 0 ) {
		
				if( objSom == "" ) {
					totalErr++;
					errCredit++;
					afficherChampErreur2("Credit"+i);
				} else {
					setBackgroundNormal2("Credit"+i);
				}
				
				if( !isFloat(objMen) ) {
					totalErr++;
					errCredit++;
					afficherChampErreur2("CCard"+i);
				} else {
					setBackgroundNormal2("CCard"+i);
				}
		}
	}
	
	if( errCredit > 0 ) {
		if( langue == 'fr') {
			strMessage += "La section <a href=\"#trCredit1\">Vos cartes de crédit</a> contient des champs erronnés.<br />";
		} else {
			strMessage += "The section <a href=\"#trCredit1\">Credit Cards</a> contains errors.<br />";
		}
	}
	
	// ============== Valide les marges de crédit ============== //
	for(var i=1; i <=maxIntLCredit; i++) {
		// Validation du champ si != 0 et > 1
		var objSom = $F("TLCredit"+i);
		var objMen = $F("LCredit"+i);
		
		if( objSom != '' || objMen != 0 ) {
		
				if( objSom == "" ) {
					totalErr++;
					errLCredit++;
					afficherChampErreur2("TLCredit"+i);
				} else {
					setBackgroundNormal2("TLCredit"+i);
				}
				
				if( !isFloat(objMen) ) {
					totalErr++;
					errLCredit++;
					afficherChampErreur2("LCredit"+i);
				} else {
					setBackgroundNormal2("LCredit"+i);
				}
		}
	}
	
	if( errLCredit > 0 ) {
		if( langue == 'fr') {
			strMessage += "La section <a href=\"#trLCredit1\">Vos marges de crédit</a> contient des champs erronnés.<br />";
		} else {
			strMessage += "The section <a href=\"#trLCredit1\">Lines of Credit</a> contains errors.<br />";
		}
	}

	 // Validation des champs financiers (ProTax)
	 if( !isFloat($F("ProTax")) 
	 	|| $F("ProTax").length == 0 
	 	|| $F("ProTax") <= 0 ) {
	    totalErr++;
	    afficherChampErreur2("ProTax");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#ProTax\" title=\"Voir ce champ\">impôts fonciers</a> est incomplet ou ne respecte pas le format suivant. Ex: 30000.<br />";
		} else {
			strMessage += "The <a href=\"#ProTax\">Taxes cost</a> field is empty or doesn't follow the right format. Ex: 30000.<br />";
		}
	 } else {
	    setBackgroundNormal2("ProTax");
	 }

	 // Validation des champs financiers (HeaCos)
	 if( !isFloat($F("HeaCos")) 
	 	|| $F("HeaCos").length == 0 
	 	|| $F("HeaCos") <= 0 ) {
	    totalErr++;
	    afficherChampErreur2("HeaCos");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#HeaCos\" title=\"Voir ce champ\">coût de chauffage</a> est incomplet ou ne respecte pas le format suivant. Ex: 30000.<br />";
		} else {
			strMessage += "The <a href=\"#HeaCos\">Heating cost</a> field is empty or doesn't follow the right format. Ex: 30000.<br />";
		}
	 } else {
	    setBackgroundNormal2("HeaCos");
	 }
	 
	 // Validation des champs financiers (HeaCos)
	 if( !isFloat($F("DowPay")) 
	 	|| $F("DowPay").length == 0 
	 	|| $F("DowPay") < 0 ) {
	    totalErr++;
	    afficherChampErreur2("DowPay");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#DowPay\" title=\"Voir ce champ\">mise de fond</a> est incomplet ou ne respecte pas le format suivant. Ex: 30000.<br />";
		} else {
			strMessage += "The <a href=\"#DowPay\">Down Payment</a> field is empty or doesn't follow the right format. Ex: 30000.<br />";
		}
	 } else {
	    setBackgroundNormal2("DowPay");
	 } 
	 
	 // Validation des champs financiers (InterestRate)
	 if( !isFloat($F("InterestRate")) 
	 	|| $F("InterestRate").length == 0 
	 	|| $F("InterestRate") <= 0 ) {
	    totalErr++;
	    afficherChampErreur2("InterestRate");
		if( langue == 'fr') {
			strMessage += "Le champ <a href=\"#InterestRate\" title=\"Voir ce champ\">taux d'intérêt</a> est incomplet ou ne respecte pas le format suivant. Ex: 7.<br />";
		} else {
			strMessage += "The <a href=\"#InterestRate\">Interest Rate</a> field is empty or doesn't follow the right format. Ex: 7.<br />";
		}
	 } else {
	    setBackgroundNormal2("InterestRate");
	 } 
	 
	 
	// Gestion des erreurs totales 
	if( totalErr > 0 ) {	
		var tmpStr = "";
		if( langue == "fr" ) {
			 tmpStr = "<h3 class=\"h3Erreur\">Un total de "+totalErr+" erreur(s) ont été trouvée(s) dans le formulaire.</h3>";
		} else {
			tmpStr = "<h3 class=\"h3Erreur\">A total of "+totalErr+" error(s) were found in the form.</h3>";
		}
		
		tmpStr += strMessage;
		afficherErreur(tmpStr);
	} else {
		
		masquerMessageErreur();
		$("frmBudget01").submit();
	}
};

// ================= Gestion des taux ================ //
var updateValeurNette = function() {
	var total = $F("coutTerrainVal")-$F("coutTerrSolde");
	if( isNaN(total) == true )
		$("lblValeurNetteTerr").innerHTML = 0;
	else
		$("lblValeurNetteTerr").innerHTML = total.toFixed(2);
};

var validerNbValide = function(nb) {
	if( !isFloat($F(nb))  || $F(nb).length == 0  || $F(nb) <= 0 ) {
		return false;
	} else {
		return true;
	}
};


// ================= Slide Show Accueil ================ //
var initSlideShow = function() {
	start_slideshow(1, 15, 2000);
};

function start_slideshow(start_frame, end_frame, delay) {
    try {
       setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
    } catch(e) {
    }
}
                        
function switch_slides(frame, start_frame, end_frame, delay) {	
  return (
  
  	function() {
  		        try {
                    $('slideshow'+frame).style.display = 'none';
                    if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
                    $('slideshow'+frame).style.display = 'block';
                    setTimeout(switch_slides(frame, start_frame, end_frame, delay), 3000);
                } catch(e) { }
    	}
    )
}

// 2 appels possibles
var hideyt = function(val) {
	try {
		if(val) {
			$("vidyt").style.display = 'none';
		} else {
			$("vidyt").style.display = 'block';
		}	
	} catch(e) { }
};

var afficherNav = function(id) {
	switch(id) {
		case 'nav1':
			new Effect.Appear($("lien01"));
			// Blocs des sections
			$("lien02").style.display = 'none';
			$("lien03").style.display = 'none';
			$("lien04").style.display = 'none';
			// Gestion des liens
			$("nav1").className = "itemAccNav_on";
			$("nav2").className = "itemAccNav_off";
			$("nav3").className = "itemAccNav_off";
			$("nav4").className = "itemAccNav_off";
		break;
		case 'nav2':
			new Effect.Appear($("lien02"));
			// Blocs des sections
			$("lien01").style.display = 'none';
			$("lien03").style.display = 'none';
			$("lien04").style.display = 'none';
			// Gestion des liens
			$("nav1").className = "itemAccNav_off";
			$("nav2").className = "itemAccNav_on";
			$("nav3").className = "itemAccNav_off";
			$("nav4").className = "itemAccNav_off";
		break;
		case 'nav3':
			new Effect.Appear($("lien03"));
			// Blocs des sections
			$("lien01").style.display = 'none';
			$("lien02").style.display = 'none';
			$("lien04").style.display = 'none';
			// Gestion des liens
			$("nav1").className = "itemAccNav_off";
			$("nav2").className = "itemAccNav_off";
			$("nav3").className = "itemAccNav_on";
			$("nav4").className = "itemAccNav_off";
		break;	
		case 'nav4':
			new Effect.Appear($("lien04"));
			// Blocs des sections
			$("lien01").style.display = 'none';
			$("lien02").style.display = 'none';
			$("lien03").style.display = 'none';
			// Gestion des liens
			$("nav1").className = "itemAccNav_off";
			$("nav2").className = "itemAccNav_off";
			$("nav3").className = "itemAccNav_off";
			$("nav4").className = "itemAccNav_on";
		break;
	}
};

var afficherNav2 = function(id) {
    switch(id) {
        case 'nav1':
            new Effect.Appear($("lien01"));
            new Effect.Appear($("lien01A"));
            // Blocs des sections
            $("lien02").style.display = 'none';
            $("lien03").style.display = 'none';
            $("lien04").style.display = 'none';
            // Gestion des liens
            $("nav1").className = "itemAccNav_on";
            $("nav2").className = "itemAccNav_off";
            $("nav3").className = "itemAccNav_off";
            $("nav4").className = "itemAccNav_off";
        break;
        case 'nav2':
            new Effect.Appear($("lien02"));
            // Blocs des sections
            $("lien01").style.display = 'none';
            $("lien01A").style.display = 'none';
            $("lien03").style.display = 'none';
            $("lien04").style.display = 'none';
            // Gestion des liens
            $("nav1").className = "itemAccNav_off";
            $("nav2").className = "itemAccNav_on";
            $("nav3").className = "itemAccNav_off";
            $("nav4").className = "itemAccNav_off";
        break;
        case 'nav3':
            new Effect.Appear($("lien03"));
            // Blocs des sections
            $("lien01").style.display = 'none';
            $("lien01A").style.display = 'none';
            $("lien02").style.display = 'none';
            $("lien04").style.display = 'none';
            // Gestion des liens
            $("nav1").className = "itemAccNav_off";
            $("nav2").className = "itemAccNav_off";
            $("nav3").className = "itemAccNav_on";
            $("nav4").className = "itemAccNav_off";
        break;    
        case 'nav4':
            new Effect.Appear($("lien04"));
            // Blocs des sections
            $("lien01").style.display = 'none';
            $("lien01A").style.display = 'none';
            $("lien02").style.display = 'none';
            $("lien03").style.display = 'none';
            // Gestion des liens
            $("nav1").className = "itemAccNav_off";
            $("nav2").className = "itemAccNav_off";
            $("nav3").className = "itemAccNav_off";
            $("nav4").className = "itemAccNav_on";
        break;
    }
};

var switchImgIndex = function() {
	var objstr = ($("imgindex").src);
	var intIndex = (objstr.substring(
		objstr.length, 
		(objstr.length-6))).
		replace(".jpg", "");
	if( intIndex < 3 ) {
		intIndex++;
		var strInd = "0"+intIndex;
		// alert('intIndex: '+intIndex+' strInd: '+strInd);
		$("imgindex").src = "img/index/img"+strInd+".jpg";
	} else {
		$("imgindex").src = "img/index/img01.jpg";
	}
};

var loginConseiller = function() {
	// Validation des champs
	var totalErr = 0;
	var strMessage = '';
	 
	 // Nom d'usager
	 if( $F("txtLogin").length == 0 ) {
	    totalErr++;
	    afficherChampErreur("txtLogin");
		if( langue == 'fr') {
			strMessage += "Le champ nom d'usager est incomplet.<br />";
		} else {
			strMessage += "The username field is empty.<br />";
		}
	 } else {
	    setBackgroundNormal("txtLogin");
	 }
	 
	 // Mot de passe
	 if( $F("txtPassword").length == 0 ) {
	    totalErr++;
	    afficherChampErreur("txtPassword");
		if( langue == 'fr') {
			strMessage += "Le champ mot de passe est incomplet.<br />";
		} else {
			strMessage += "The password field is empty.<br />";
		}
	 } else {
	    setBackgroundNormal("txtPassword");
	 }
	 
	// Gestion des erreurs totales 
	if( totalErr > 0 ) {	
		afficherErreur(strMessage, "veuillezPatienter");
	} else {
		masquerMessageErreurPerso("veuillezPatienter");
		if( langue == "fr" ) {
			veuillezPatienter("Veuillez patienter...");
		} else {
			veuillezPatienter("Please wait...");
		}
		
		var dtp = '';
		
		objAjax = new Ajax();	
		objAjax.async = false;
		
		// Création de l'objet POST
		dtp += "log="+$F("txtLogin")+"&";
		dtp += "pwd="+$F("txtPassword");

		try {
			objAjax.doPost("getLoginConseiller.php",
				dtp,
				loginConseiller_handler,
				"xml");
		} catch(e) {
			if( langue == 'fr' )
				afficherErreur("Une erreur ("+e+") est survenue pendant la sauvegarde des informations. Veuillez réessayer.", "veuillezPatienter");
			else
				afficherErreur("An error ("+e+") while transfering your information. Please try again.", "veuillezPatienter");
		}	
	}
};

var loginConseiller_handler = function() {
	var repjs = objAjax.responseText;
	if( repjs == 1 ) {
		masquerMessageErreurPerso("veuillezPatienter");
		fermerPopUpConseiller();
		if( langue == 'fr' ) {
			alert("Vous êtes maintenant authentifié.\nVous avez accès à des options supplémentaires.\nEx: Plans PDF dans la recherche.");
		} else {
			alert("You are now authenticated. You now have access to extra options.\nEx: PDF Plans in the search.");
		}
		location.reload(true);
	} else {
		if( langue == 'fr' ) {
			afficherErreur("Nom d'usager ou mot de passe incorrect.", "veuillezPatienter");
		} else {
			afficherErreur("Username or password incorrect.", "veuillezPatienter");
		}
	}
};

var affSpinner = function() {
	// Messenger.notice("Calculs en cours, veuillez patienter...");
	// $("flashnotice").style.display = 'block';
	// $('flashnotice').innerHTML = "<table width=\"100%\"><tr><td width=\"10%\"><img src=\"img/ajax-loader.gif\" /></td><td>Calculs en cours...</td></tr></table>";
};

/*-------------------- Messenger Functions ------------------------------*/
// Messenger is used to manage error messages and notices
//
var Messenger = {
  autohide_error: null,
  autohide_notice: null,
  // When given an error message, wrap it in a list 
  // and show it on the screen.  This message will auto-hide 
  // after a specified amount of miliseconds
  // Notice-level messages.  See Messenger.error for full details.
  notice: function(message) {
    $('flashnotice').innerHTML = "<table width=\"100%\"><tr><td width=\"10%\"><img src=\"img/ajax-loader.gif\" /></td><td>" + message + "</td></tr></table>";
    new Effect.Appear('flashnotice', {duration: 0.1});
    if (this.autohide_notice != null) {clearTimeout(this.autohide_notice);}
    this.autohide_notice = setTimeout(Messenger.fadeNotice.bind(this), 2000);
  },
  
  // Responsible for fading notices level messages in the dom    
  fadeNotice: function() {
    new Effect.Fade('flashnotice', {duration: 0.10});
    this.autohide_notice = null;
  }
}

var updateMiseDeFonds = function(IdSimulation, cashPlusMdF) {
	objAjax = new Ajax();
	objAjax.async = false;
	try {
		objAjax.doGet("setMiseDeFonds.php?IdSimulation=" + IdSimulation+"&cash="+cashPlusMdF,
			updateMiseDeFonds_handler,
			"text");
	} catch(e) { 
		alert("Une erreur est survenue pendant la tentative de mise à jour de la mise de fonds. Veuillez recommencer.");
	}
};

var updateMiseDeFonds_handler = function() {
	var repAj = objAjax.responseText;
	if( repAj != "OK" ) {
		alert("Une erreur est survenue pendant la tentative de mise à jour de la mise de fonds. Veuillez recommencer.");
	} else {
		masquerBtnMiseDeFonds();
		document.location.href="budget01.php#DowPay";
	}
};

var showMenuProd = function() {
	var etat = $("autresProduits").style.display;
	if( etat == '' || etat == 'none' ) {
		$("autresProduits").style.display = "block";
		//new Effect.BlindDown("autresProduits");
		$("icoMenu").src = "img/icoMenuOn.jpg";
	} else {
		$("autresProduits").style.display = "none";
		//new Effect.BlindUp("autresProduits");
		$("icoMenu").src = "img/icoMenuOff.jpg";
	}
};

var fermerAutresProd = function() {
	$("autresProduits").style.display = "none";
	$("icoMenu").src = "img/icoMenuOff.jpg";
};

// NBL, 5 fév. 2007
var ficheProduit = function(id) {
	if( id != '' ) {
		var tmpLangue = '';
		
		
		// $("fade").style.display = 'block';
		$("ficheTechnique").style.display = 'block';
        
		if( langue == 'fr' ) {
			tmpLangue = 'frCA';
		} else {
			tmpLangue = 'enUS';
		}

		// Création de l'objet AJAX
		var ajax = false;
		
		if(window.XMLHttpRequest) {
			try {
				ajax = new XMLHttpRequest();
			} catch(e) {
				ajax = false;
			}
		} else if(window.ActiveXObject) {
			try {
				ajax = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) {
				try {
					ajax = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) {
					ajax = false;
				}
			}
		}
		
		if(ajax) {   
			             
			ajax.open("GET", "getDetailFiche.php?IdTexte="+id+"&CodeLangue="+tmpLangue, false);
			try {
				ajax.send(null);
				
				// Objet XML
				var objXML = ajax.responseXML;
				
				// On affecte les textes aux divs
				// On parle le document XML retourné
				var nom = objXML.getElementsByTagName("nom")[0].firstChild.nodeValue;
				var desc = objXML.getElementsByTagName("desc")[0].firstChild.nodeValue;
				var app = objXML.getElementsByTagName("app")[0].firstChild.nodeValue;
				var imgServeur = objXML.getElementsByTagName("img")[0].firstChild.nodeValue;
				
				// Affecte les données aux champs
				$("ficheTitre").innerHTML = nom;
				$("ficheDesc").innerHTML = desc;
				$("ficheApp").innerHTML = app;
				
				// Image serveur?
				if( imgServeur == 0 ) {
					$("ficheImg").src = "http://www.maisonlaprise.com/img/fiches/imgNA"+langue+".gif";
				} else {
					$("ficheImg").src = "http://www.maisonlaprise.com/img/fiches/"+id+"sm.jpg";
				}
				
				// Masque le message d'attente
				$("ficheLoading").style.display = 'none';	
					
			} catch(e) { 
				fermerFiche();
				alert("Une erreur est survenue pendant la lecture de cette fiche.\nVeuillez réessayer d'ici quelques minutes."); 	
			}
		}
		
	} else {
		return false;
	}
};

var fermerFiche = function() {
		$("ficheTechnique").style.display = 'none';
		$("fade").style.display = 'none';	
};

var swVideo = function() {
	var objDivSw = $("filmAcc");
	var txtSw = "<object type=\"application/x-shockwave-flash\" id=\"vidyt\" data=\"http://www.youtube.com/v/HhbqxDmc_r0&amp;rel=1\" width=\"270\" height=\"220\"><param name=\"movie\" value=\"http://www.youtube.com/v/HhbqxDmc_r0&amp;rel=1\" /><param name=\"quality\" value=\"high\"/></object>";
	objDivSw.innerHTML = txtSw;
};

var accesRapidePage = function(url, intPageCourante, intPageNext) {
	if( intPageNext != '' ) {
		var strURL = url;
		// Étape 1 : As-t'on une page dans l'URL?
		var regPage = /[&?]p=\d{1,2}/;
		if( regPage.test(strURL) == true ) {
			strURL = url.replace("p="+intPageCourante, "p="+intPageNext);	
		} else {
			strURL += "&p="+intPageNext;
		}
		
		document.location.href = strURL;
	}
};

var lancerConnectWrapper = function(from, IdSimulation) {

    var urlC = "connect/agent/kingWrapper.php?from="+from;
     
    if( IdSimulation == 0 || IdSimulation == '' )
        IdSimulation = '';
    else
        urlC += "&amp;IdSimulation="+IdSimulation;
       
    var h_client = window.open(urlC);
    
	h_client.moveTo(0,0);
	h_client.resizeTo(screen.width,screen.height);
};

var lancerConnectConseiller = function() {
	var h_client = window.open("connect/reception/index.php");
};



// Fonction permettant d'aller chercher la liste des provinces
// associées à un pays (Terrains).
/*
    filtre : true (résutlats filtrés)
    filtre : false (résultats non filtrés)
*/
var getListeProvinces = function(IdPays, filtre) {
 
    // alert(IdPays+' '+filtre);
 
 
	var objLstPrv = $("lstIdProvince");
    var objLstVilles = $("lstIdRegion");
	
	if( IdPays.length > 0 ) {	
		// Création de l'objet AJAX
		var ajax = newAjax();
		var resXML = null;
		var node = null;
		
		if(ajax) {   
			try {
                ajax.open("GET", "./getListeProvincesPaysLogin.php?IdPays="+IdPays, false);
                                                                          
				ajax.send(null);
				resXML = ajax.responseXML;

				// Traitement du résultat XML
				var provinces = resXML.getElementsByTagName("province"); 
				
		        		if( provinces.length > 0 ) {
		        			
		        			// Vide la liste au cas où il y aurait eu des updates
		        			// Évite d'ajouter les provinces en doublons.
		        			while(objLstPrv.firstChild)
		        				objLstPrv.removeChild(objLstPrv.firstChild);
		        			
		        			// Créer toujours le premier élément vide
	        				node = document.createElement("option");
		        			node.setAttribute('value', 0);
		        			node.innerHTML = ''; 
		        			objLstPrv.appendChild(node);
		        			
		        			// Créer les noeuds enfants à la liste	
		        			for(var i = 0; i < provinces.length; i++) {
		        				node = document.createElement("option");
			        			node.setAttribute('value', provinces[i].getAttribute('id'));
			        			node.innerHTML = provinces[i].firstChild.nodeValue; 
			        			objLstPrv.appendChild(node);
		        			}
		        			
		        			// On sélectionne le premier item dans la liste
		        			// objLstPrv.selectedIndex = 1;
                            
                            // Vide les provinces    
                            /* while(objLstPrv.firstChild)
                                objLstPrv.removeChild(objLstPrv.firstChild);
                                
                            // Vide les villes    
                            while(objLstVilles.firstChild)
                                objLstVilles.removeChild(objLstVilles.firstChild); */         
		        		}
		        		
			} catch(e) { 
				// alert("Une erreur est survenue pendant la lecture des provinces.\nErreur: "+e); 	
			}
		}	
	} else {
		try {
			// Vide les provinces
			while(objLstPrv.firstChild)
				objLstPrv.removeChild(objLstPrv.firstChild);
				
			// Vide les villes	
			while(objLstVilles.firstChild)
				objLstVilles.removeChild(objLstVilles.firstChild);
                			
		} catch(e) {
			alert("Erreur vider liste cascades.\nErreur: "+e);
		}
	}
    
    // Si dans loginTerrains.php
    try {
        new Effect.Fade($("divLoadingRegions"));
    } catch(e) { }
};

// Fonction permettant d'aller chercher la liste des villes en fonction
// d'une région (Ex: Aller chercher les villes de la province de Québec).
var getListeVilles = function(CodeRegion) {

    var objLstVilles = $("lstMunicipalites");
    var objLstPays = $("lstIdPays");
    
    if( CodeRegion.length > 0 ) {
    
        // alert('CodeRegion: '+CodeRegion);
    
        // Création de l'objet AJAX
        var ajax = newAjax();
        var resXML = null;
        var node = null;
        
        if(ajax) {   
            try {
                ajax.open("GET", "./getListeVilles.php?CodeRegion="+CodeRegion+"&CodePays="+objLstPays.value, false);
                ajax.send(null);
                resXML = ajax.responseXML;

                // Traitement du résultat XML
                var villes = resXML.getElementsByTagName("ville"); 
                
                        if( villes.length > 0 ) {
                            
                            // Vide la liste au cas où il y aurait eu des updates
                            // Évite d'ajouter les provinces en doublons.
                            while(objLstVilles.firstChild)
                                objLstVilles.removeChild(objLstVilles.firstChild);
                            
                            // Créer toujours le premier élément vide
                            node = document.createElement("option");
                            node.setAttribute('value', 0);
                            node.innerHTML = ''; 
                            objLstVilles.appendChild(node);
                            
                            // Créer les noeuds enfants à la liste    
                            for(var i = 0; i < villes.length; i++) {
                                node = document.createElement("option");
                                node.setAttribute('value', villes[i].getAttribute('id'));
                                node.innerHTML = villes[i].firstChild.nodeValue; 
                                objLstVilles.appendChild(node);
                            }
                            
                            // On sélectionne le premier item dans la liste
                            // objLstReg.selectedIndex = 1;
                        }
                        
            } catch(e) { 
                alert("Une erreur est survenue pendant la lecture des villes pour cette région.\nErreur: "+e);     
            }
        }
             
    } else {
        alert("Code de région invalide.");
    }
    
    try {
        new Effect.Fade($("divLoadingVilles"));
    } catch(e) { }
};

// Fonction permettant d'aller chercher la liste des régions administratives
// associées à une province (Terrains).
var getListeRegions = function(IdProvince) {
	
	var objLstReg = $("lstIdRegion");
	
	if( IdProvince > 0 ) {
		// Création de l'objet AJAX
		var ajax = newAjax();
		var resXML = null;
		var node = null;
		
		if(ajax) {   
			try {
                ajax.open("GET", "./getListeRegionsProvince.php?IdProvince="+IdProvince, false);
				ajax.send(null);
				resXML = ajax.responseXML;

				// Traitement du résultat XML
				var regions = resXML.getElementsByTagName("region"); 
				
		        		if( regions.length > 0 ) {
		        			
		        			// Vide la liste au cas où il y aurait eu des updates
		        			// Évite d'ajouter les provinces en doublons.
		        			while(objLstReg.firstChild)
		        				objLstReg.removeChild(objLstReg.firstChild);
		        			
		        			// Créer toujours le premier élément vide
	        				node = document.createElement("option");
		        			node.setAttribute('value', 0);
		        			node.innerHTML = ''; 
		        			objLstReg.appendChild(node);
		        			
		        			// Créer les noeuds enfants à la liste	
		        			for(var i = 0; i < regions.length; i++) {
		        				node = document.createElement("option");
			        			node.setAttribute('value', regions[i].getAttribute('id'));
			        			node.innerHTML = regions[i].firstChild.nodeValue; 
			        			objLstReg.appendChild(node);
		        			}
		        			
		        			// On sélectionne le premier item dans la liste
		        			// objLstReg.selectedIndex = 1;
		        		}
		        		
			} catch(e) { 
				alert("Une erreur est survenue pendant la lecture des régions.\nErreur: "+e); 	
			}
		}
        		
	} else {
		try {
			while(objLstReg.firstChild)
				objLstReg.removeChild(objLstReg.firstChild);	
		} catch(e) {
			alert("Erreur vider liste cascades.\nErreur: "+e);
		}
		
	}
};

var resetRegVille = function() {
    var objRegion = $("lstIdRegionAdm");
    var objVilles = $("lstIdRegion");
    
    while(objRegion.firstChild)
        objRegion.removeChild(objRegion.firstChild);
        
    while(objVilles.firstChild)
        objVilles.removeChild(objVilles.firstChild);
};

var rechercherTerrain = function() {
    
	var IdRegion = $("lstIdRegion").value;
	var IdPays = $("lstIdPays").value
	var IdProvince = $("lstIdProvince").value
    var IdRegionAdm = $("lstIdRegionAdm").value;

	if( IdRegion > 0 && IdPays.length > 0 && IdProvince > 0 && IdRegionAdm > 0 ) {
        appliquerTrisURL("rechercheTerrains.php?IdRegion="+IdRegion+"&IdProvince="+IdProvince+"&IdPays="+IdPays+"&IdRegionAdm="+IdRegionAdm+"&p=1"); 
    }
};

var afficherTab = function(id) {
	switch(id) {
		case 1:
			$("div_Description").style.display = 'block';
			$("div_Details").style.display = 'none';
			$("div_Vendeur").style.display = 'none';
			$("div_PlanEnsemble").style.display = 'none';
			$("div_Google").style.display = 'none';
		break;
		case 2:
			$("div_Description").style.display = 'none';
			$("div_Details").style.display = 'block';
			$("div_Vendeur").style.display = 'none';
			$("div_PlanEnsemble").style.display = 'none';
			$("div_Google").style.display = 'none';
		break;
		case 3:
			$("div_Description").style.display = 'none';
			$("div_Details").style.display = 'none';
			$("div_Vendeur").style.display = 'block';
			$("div_PlanEnsemble").style.display = 'none';
			$("div_Google").style.display = 'none';
		break;
		case 4:
			$("div_Description").style.display = 'none';
			$("div_Details").style.display = 'none';
			$("div_Vendeur").style.display = 'none';
			$("div_PlanEnsemble").style.display = 'block';
			$("div_Google").style.display = 'none';
		break;
		case 5:
			$("div_Description").style.display = 'none';
			$("div_Details").style.display = 'none';
			$("div_Vendeur").style.display = 'none';
			$("div_PlanEnsemble").style.display = 'none';
			$("div_Google").style.display = 'block';
		break;
	}
};

function initializeMapTerrain() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("mapTerrain"));
    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());
    geocoder = new GClientGeocoder();
  }
}

function chargerMapTerrain(address) {
  if (geocoder) {
    geocoder.getLatLng(
      address,
      function(point) {
        if (!point) {
         document.getElementById("mapTerrain").innerHTML = "Impossible d'afficher ce terrain sur la carte Google.";
        } else {
          map.setCenter(point, 15);
          var marker = new GMarker(point);
          map.addOverlay(marker);
          marker.openInfoWindowHtml("<strong>Emplacement approximatif:</strong><br />"+address);
          // window.resizeTo(screen.width,screen, screen.height);
          map.checkResize();
        }
      }
    );
  }
}

var afficherTris = function() {
    new Effect.toggle('divTris', effectType='blind', {duration:0.14}); 
};

// Fonction permettant de setter le tri dans les terrains.
var setTri = function(id, sort) {
    
    var nomImgOn = '', nomImgOff = '';
    
    switch(sort) {
        case 'a':
            nomImgOn = 'icoTriASC_on.jpg';
            nomImgOff = 'icoTriASC.jpg';
        break;
        case 'd':
            nomImgOn = 'icoTriDESC_on.jpg';
            nomImgOff = 'icoTriDESC.jpg';
        break;
    }

    var posTriCourant = arrTrisResTerr.indexOf(id+sort);
    if( posTriCourant < 0 ) {
        // On doit également vérifier que l'on a pas le tri contraire.
        var posContraire = arrTrisResTerr.indexOf(id+(sort == 'a' ? 'd' : 'a'));
        if( posContraire < 0 ) {
            arrTrisResTerr.push(id+sort);
            // On doit également modifier l'image
            $(id+sort).setAttribute("src", "img/"+nomImgOn);
        } else {
            // On retire alors le tri contraire par le nouveau.
            arrTrisResTerr.splice(posContraire, 1);
            arrTrisResTerr.push(id+sort);
            $(id+sort).setAttribute("src", "img/"+nomImgOn);
            if( sort == 'a' ) {
                // On doit remplacer son image voisine (d) par un off.
                $(id+'d').setAttribute("src", "img/icoTriDESC.jpg");
            } else {
                $(id+'a').setAttribute("src", "img/icoTriASC.jpg");
            }                      
        }
    } else {
        arrTrisResTerr.splice(posTriCourant, 1);
        $(id+sort).setAttribute("src", "img/"+nomImgOff);
    }
};

var appliquerTrisURL = function(url) {

     var urlLong = url;
     var indexTri = url.indexOf("&sort=");
     
     if( indexTri > -1 ) {
           // Trouvé dans la chaine, on le retire.
           urlLong = url.substr(0, indexTri);
     }      
 
    if( arrTrisResTerr.length > 0)
        // Pas trouvé, on l'ajoute à l'URL
        urlLong += "&sort="+arrTrisResTerr;
     
     document.location.href = urlLong;
};

var initArrTrisResTerr = function(strSort) {
    if( strSort.length == 5 ) {
        arrTrisResTerr.push(new String(strSort.substr(0,2)));
        arrTrisResTerr.push(new String(strSort.substr(3,2)));
    } else if ( strSort.length == 2 ) {
        arrTrisResTerr.push(new String(strSort.substr(0,2)));
    }
    for(var i=0; i < arrTrisResTerr.length; i++) {
        var objDOM = document.getElementById(arrTrisResTerr[i]);
        if( arrTrisResTerr[i].substr(1,1) == 'a') {
            objDOM.setAttribute("src", "img/icoTriASC_on.jpg"); // ASC
        } else {
            objDOM.setAttribute("src", "img/icoTriDESC_on.jpg"); // DESC
        }
    }
};

// Switch de méthode d'affichage
var switchAddTerrains = function(num, url) {
    
    var ajax = false;
    urlback = url;
    
    if(window.XMLHttpRequest) {
        try {
            ajax = new XMLHttpRequest();
        } catch(e) {
            ajax = false;
        }
    } else if(window.ActiveXObject) {
        try {
            ajax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                ajax = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                ajax = false;
            }
        }
    }
    
    if(ajax) {                
        ajax.open("GET", "setAffTerrains.php?num=" + num, false);
        try {
            ajax.send(null);
            window.location.reload();
        } catch(e) { }
    }
};

var switchMethodeAffichage_handler = function() {
    document.location.href = urlback;
};

var correction = function(id) {
    parent.frameTraduction.location.href = 'https://secure.maisonlaprise.com/langue.php?txtIdTexte='+id;
};

var aideMdp = function() {
    window.open('https://www.google.com/accounts/PasswordHelp', 'AideMdp', 'width=640,height=400,top=150,left=150,scrollbars=yes,resizable=yes');
};

var validerEtape01Terrain = function() {

    if( $("lstIdPays").value == ''
        || $("lstIdProvince").value == '0'
        || $("lstMunicipalites").value == '0' ) {
        alert("Impossible de continuer, erreur.");
    } else {
        document.frmEtape1.submit();
    }
};

var validerEtape02Terrain = function() {
    document.frmEtape2.submit();
};

var validerEtape03Terrain = function() {
    // Vérification du nombre d'images pour ce terrain
    // Minimum 1
    
    // alert('verif nombre images terrain');
    document.location.href = 'terrainMerci.php'; 
};

var switchUnite = function(val) {
    var selections = document.getElementsByTagName("select");
    for(var i=0; i < selections.length; i++) {
        var objSelect = selections[i].getAttribute("id");
        if($(objSelect).className == 'unite') {
            if( val == 'p' ) {
                $(objSelect).selectedIndex = 0;
            } else {
                $(objSelect).selectedIndex = 1;
            }
            
            new Effect.Highlight($(objSelect));        
        }
    }
};

var ajouterNouvTerrain = function() {
    document.location.href = 'ajouterNouvTerrain.php';
};

var ajouterNouvDev = function() {
    document.location.href = 'ajouterNouvDev.php';
};

var adminTerrain = function() {
    document.location.href = 'finAjoutTerrain.php';
};

var checkServices = function(value) {
    var checks = document.getElementsByTagName("input");
    var listeChecks = $$("input.chkservice");
    for(var i=0; i<listeChecks.length; i++) {
          if( listeChecks[i].id != 'chkIdService_1' ) {
            if( value == true ) {
                    listeChecks[i].checked = '';
                    listeChecks[i].disabled = 'disabled';
            } else {
                listeChecks[i].disabled = '';
            }  
          }
    }
};


var fctcallProvinces = function() {
        getListeProvinces($F("lstIdPays"), false)
};

var affLoadingRegions = function() {
    // Si dans loginTerrains.php
    if( $F("lstIdPays").length == '' )
        alert("Veuillez sélectionner un pays.");
    else
    {
        try {
            $("divLoadingRegions").style.display = 'block';
            setTimeout("fctcallProvinces()", 150);
        } catch(e) {  }
    }
};

var fctcallVilles = function() {
    getListeVilles($F("lstIdProvince"), false)
};

var affLoadingVilles = function() {
    if( $F("lstIdPays").length == '' )
        alert("Veuillez sélectionner une province ou un état.");
    else
    {
        // Si dans loginTerrains.php
        try {
            $("divLoadingVilles").style.display = 'block';
            setTimeout("fctcallVilles()", 150);
        } catch(e) {  }
    }
};

/* ----------------------- Développement ------------------------ */
var validerEtape01Dev = function() {

    if( $("lstIdPays").value == ''
        || $("lstIdProvince").value == '0'
        || $("lstMunicipalites").value == '0' ) {
        alert("Impossible de continuer, erreur.");
    } else {
        document.frmEtape1.submit();
    }
};

var validerEtape02Dev = function() {
    alert('valider JS');
    document.frmEtape2.submit();
};

var validerEtape03Dev = function() {
    // Vérification du nombre d'images pour ce développement
    // Minimum 1

    alert('verif nombre images developpement');
    document.location.href = 'developpementMerci.php'; 
};

var chkAdrDisp = function(valeur) {
    if( valeur == 1) {
        $("txtAdresse").disabled = '';
        $("txtAdresse").focus();
    } else {
        $("txtAdresse").disabled = 'disabled';
    }
};

var swapImgMoy = function(img, target) {
    $(target).setAttribute("src", "phototerrain/"+img+"m.jpg");
};

var popImg = function() {
    // On utilise la librairie Leightbox
    
    var strPopImg = new String($("imgmoy").getAttribute("src"));
    strPopImg = strPopImg.replace("m.jpg", "g.jpg");
    $("imgPopFiche").setAttribute("src", strPopImg);
    //$("fade").style.display = 'block'; 
	afficherLightbox('popUpFichePlan');
};

var fermerPopPlan = function() {
    //$("popUpFichePlan").style.display = 'none';
    //$("fade").style.display = 'none';
	cacherLightbox('popUpFichePlan');
};


var validerRetour = function() {
    if(ajax.readyState  == 4)
    {
      if(ajax.status  == 200) { 
        if( ajax.responseText == 'Ok' ) {
            alert('Merci! Le vendeur recevra votre message d\'ici quelques minutes.');
        } else {
            alert('Une erreur est survenue durant l\'envoie de votre message.\nVeuillez recommencer.');
        }
      } 
      else 
        ('Une erreur est survenue durant l\'envoie de votre message.\nVeuillez recommencer.');
    }
};


var validerCVendeur = function(idP, sid, idT) {
    var intErr = 0;
    var strErr = '';

    if( $F("txtNomC").length == 0 ) {
        strErr += 'Nom incomplet<br />';
        intErr++;
    }
    
    if( $F("txtPrenomC").length == 0 ) {
        strErr += 'Prénom incomplet<br />';
        intErr++;
    }
        
    if( $F("txtTelC").length == 0 ) {
        strErr += 'Téléphone incomplet<br />';
        intErr++;
    }
    
    if( $F("txtCourrielC").length == 0 ) {
        strErr += 'Courriel incomplet<br />';
        intErr++;
    }
    
    if( $F("txtMsgC").length == 0 ) {
        strErr += 'Message incomplet<br />';
        intErr++;
    }
    
    if( intErr > 0 ) {
        // Affiche DIV avec les erreurs
        // Comme sur la création d'un nouvel usager
        $("msgErr").innerHTML = strErr;
        $("erreurCompte").style.display = 'block';
    } else {
        // On envoit la demande.
        $("erreurCompte").style.display = 'none';
        new Effect.Appear($("divLoadingSendForm"));
        
        // Création de l'objet AJAX
        ajax = newAjax();
        var dataPost = '';
        
        if(ajax) {   
            try {
                ajax.onreadystatechange = validerRetour;  
                ajax.open("POST", "./sendCommentVendeur.php", true);
                ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
                // Data du POST.
                dataPost += "nom="+$F("txtNomC");
                dataPost += "&prenom="+$F("txtPrenomC");
                dataPost += "&telephone="+$F("txtTelC");
                dataPost += "&courriel="+$F("txtCourrielC");
                dataPost += "&msg="+$F("txtMsgC");
                dataPost += "&IdProprio="+idP;
                dataPost += "&IdTerrain="+idT;
                dataPost += "&sid="+sid;
                ajax.send(dataPost);                     
            } catch(e) { }
        }
        
        new Effect.Fade($("divLoadingSendForm")); 
    }   
};

var switchAfcgPays = function(pays) {
    switch(pays) {
        case 'CA':
            $("div_chkPays_CA").style.display = 'block';
            $("div_chkPays_US").style.display = 'none';
            $("blockPays").style.display = 'none';
            $("blockProvince").style.display = 'none';
            $("blockVille").style.display = 'none'; 
            $("blockVilleTxt").style.display = 'block';
            $("blockCodePostal").style.display = 'none';
        break;
        case 'US':
            $("div_chkPays_CA").style.display = 'none';
            $("div_chkPays_US").style.display = 'block';
            $("blockPays").style.display = 'none';
            $("blockProvince").style.display = 'none';
            $("blockVille").style.display = 'none'; 
            $("blockVilleTxt").style.display = 'block';
            $("blockCodePostal").style.display = 'none';
        break;
        case 'OT':
            $("div_chkPays_CA").style.display = 'none';
            $("div_chkPays_US").style.display = 'none';
            $("blockPays").style.display = 'block';
            $("blockProvince").style.display = 'block';
            $("blockVille").style.display = 'block';
            $("blockVilleTxt").style.display = 'none';
            $("blockCodePostal").style.display = 'block';
        break;   
    }
};

var checkZip = function(pays) {
    // try {
        var urlAdr = 'getInfoAdr.php?Pays=';
        var err = 0;
        var nodeCourant = null;
          
        if( pays == 'CA' ) {
             urlAdr += 'CA&'
             if( $F("txtCP_CA_1").length < 3 || $F("txtCP_CA_2").length < 3 ) {
                err++;
                alert('Veuillez spécifier un code postal canadien valide.');
             } else {
               urlAdr += "CodePostal=" + $F("txtCP_CA_1") + " " + $F("txtCP_CA_2");
               err = 0;
             }
        } else {
            urlAdr += 'US&'
            if( $F("txtCP_US_1").length < 5 ) {
                err++;
                alert('Veuillez spécifier un zip code américain valide.');
            } else {
               urlAdr += "CodePostal=" + $F("txtCP_US_1");
               err = 0;
            }
        }
        
        // Aucune erreur, on lance la requête AJAX
        if( err == 0 ) {
        
            var ajax = false;
            var repxml = null;
            
            if(window.XMLHttpRequest) {
                try {
                    ajax = new XMLHttpRequest();
                } catch(e) {
                    ajax = false;
                }
            } else if(window.ActiveXObject) {
                try {
                    ajax = new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    try {
                        ajax = new ActiveXObject("Microsoft.XMLHTTP");
                    } catch(e) {
                        ajax = false;
                    }
                }
            }
            
            if(ajax) {
            
                ajax.open("GET", urlAdr, false);
                ajax.send(null);
                
                // Récupération du résultat
                repxml = ajax.responseXML;
                
                // Total des résultats
                var intTotal = 0;
                intTotal = repxml.getElementsByTagName("adresse").length;
                
                // Destruction du contenu
                $("choixRue_Adr").innerHTML = 'Veuillez choisir une rue/ville parmi cette liste: <br />';
                $("txtAdresse").value = '';
                $("txtVilleNew").value = '';
                $("txtTel").value = '';
                
                if( intTotal == 1 ) {
                
                    // Destruction du contenu
                    $("choixRue_Adr").innerHTML = '';
                    $("choixRue_Adr").style.display = 'none';
                     
                    // Une seule coordonnées.
                    // On va chercher les données.
                    for(var i=0; i < intTotal; i++) {
                         nodeCourant = repxml.getElementsByTagName("adresse")[i];
                         $("txtAdresse").value = nodeCourant.getElementsByTagName("streetName")[0].firstChild.nodeValue;
                         $("txtTel").value = nodeCourant.getElementsByTagName("areaCode")[0].firstChild.nodeValue;
                         $("txtVilleNew").value = nodeCourant.getElementsByTagName("areaName")[0].firstChild.nodeValue;
                    }    

                } else if ( intTotal > 1 ) {
                
                    // Créer l'instance du select
                    var objListe = document.createElement("select");
                    objListe.setAttribute("id", "lstAdresses");
                    objListe.setAttribute("name", "lstAdresses");
                    // Workaround bogue IE6/IE7 (FF OK)
                    objListe.onchange = function() {
                        remplirAdr(this.value);
                    };
                    
                    $("choixRue_Adr").appendChild(objListe);
                
                    // Plusieurs choix
                    var objAdresses = null;
                    objAdresses = repxml.getElementsByTagName("adresse");
                    
                    var objListeAdrC = null;
                    var strValue = '';
                    
                    for(var i=0; i < intTotal; i++) {
                    
                        // Noeud adresse courante.
                        nodeCourant = objAdresses[i];
                        objListeAdrC = document.createElement("option");
                        objListeAdrC.innerHTML = nodeCourant.getElementsByTagName("streetName")[0].firstChild.nodeValue;
                        
                        // Valeur divisée en 3 parties
                        // 1 : Area
                        // 2 : NomVille
                        // 3 : NomRue
                        
                        strValue += nodeCourant.getElementsByTagName("areaCode")[0].firstChild.nodeValue + "|";
                        strValue += nodeCourant.getElementsByTagName("areaName")[0].firstChild.nodeValue + "|";
                        strValue += nodeCourant.getElementsByTagName("streetName")[0].firstChild.nodeValue;
  
                        objListeAdrC.setAttribute('value', strValue);
                        
                        // Ajoute le noeud à la liste.
                        objListe.appendChild(objListeAdrC);

                        nodeCourant = null;
                        objListeAdrC = null;
                        strValue = ''; 
                    }
                    
                    $("choixRue_Adr").style.display = 'block';   

                } else {
                    // Aucune réponse.
                    alert('Aucune information trouvée pour ce code postal/zip code.');
                    $("choixRue_Adr").style.display = 'none';
                }
            }       
        }
};

var remplirAdr = function(valeur) {
    if( valeur == 'Autre') {
        $("txtAdresse").value = '';
        $("txtTel").value = '';
        $("txtVilleNew").value = '';
    } else {
        // On extrait la valeur avec les |
        var arrValues = valeur.split("|");
        $("txtAdresse").value = arrValues[2];
        $("txtTel").value = arrValues[0];
        $("txtVilleNew").value = arrValues[1];
    }
};

var delTerrain = function(id, prop) {
    
    if( confirm("Êtes-vous certain de vouloir supprimer ce terrain?") ) {
        
        // Ajax
        var ajax = false;
        var repTexte = null;
        
        if(window.XMLHttpRequest) {
            try {
                ajax = new XMLHttpRequest();
            } catch(e) {
                ajax = false;
            }
        } else if(window.ActiveXObject) {
            try {
                ajax = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                try {
                    ajax = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e) {
                    ajax = false;
                }
            }
        }
        
        if(ajax) {
            ajax.open("GET", "suppIdTerrain.php?IdTerrain="+id+"&IdProprio="+prop, false);
            ajax.send(null);
            
            try {
                // nodeCourant.getElementsByTagName("streetName")[0].firstChild.nodeValue;    
                var repXML = ajax.responseXML.getElementsByTagName("retour")[0].firstChild.nodeValue;
                if( repXML == "OK" ) {
                    alert("Terrain supprimé avec succès.");
                    document.location.reload(); 
                } else {
                  alert("Impossible de supprimer ce terrain.\nVeuillez recommencer.");
                }
            } catch(e) {
                alert("Impossible de supprimer ce terrain.\nVeuillez recommencer.");
            }  
        }
    }
};

var cancelCompte = function(id) {
    if( confirm("Êtes-vous certain de vouloir fermer mon compte?\nTous vos terrains seront retirés du site.") ) {

        // Ajax
        var ajax = false;
        var repTexte = null;
        
        if(window.XMLHttpRequest) {
            try {
                ajax = new XMLHttpRequest();
            } catch(e) {
                ajax = false;
            }
        } else if(window.ActiveXObject) {
            try {
                ajax = new ActiveXObject("Msxml2.XMLHTTP");
            } catch(e) {
                try {
                    ajax = new ActiveXObject("Microsoft.XMLHTTP");
                } catch(e) {
                    ajax = false;
                }
            }
        }
        
        if(ajax) {
            ajax.open("GET", "desCompte.php?IdProprio="+id, false);
            ajax.send(null);
            
            try {
                // nodeCourant.getElementsByTagName("streetName")[0].firstChild.nodeValue;    
                var repXML = ajax.responseXML.getElementsByTagName("retour")[0].firstChild.nodeValue;
                if( repXML == "OK" ) {
                    alert("Votre compte a été désactivé avec succès. Merci de votre participation et au plaisir de vous revoir.");
                    document.location.href="logoutTerrain.php";
                } else {
                  alert("Impossible de désactiver votre compte.\nVeuillez recommencer.");
                }
            } catch(e) {
                alert("Impossible de désactiver votre compte.\nVeuillez recommencer."); 
            }  
        }
    }
};

var ajouterClicVideo = function() {
	objAjax = new Ajax();
	objAjax.async = false;
	try {
		objAjax.doGet("ajouterClicVideo.php",
			ajouterClicVideoCB,
			"xml");
	} catch(e) { }
};

var ajouterClicVideoCB = function() { };

var switchRech = function(type) {
    switch(type) {
        case "1":
            $("rechercheSimple").style.display = 'block';
            $("rechercheAvancee").style.display = 'none';  
        break;
        case "2":
            $("rechercheSimple").style.display = 'none';
            $("rechercheAvancee").style.display = 'block';
        break;
    }   
};

 var checkLoading = function() {
    document.getElementById("transbox").style.marginBottom = 0;
    // document.body.scrollTop;
    // alert(document.body.scrollTop);
 };
 
 var cancelLoading = function(msg) {
    try {
        window.stop();
    } catch(e) {
        // FF, Safari.
        try {
            document.execCommand("stop");    
        } catch(e) { }
    }
    document.location.href = location;
    $("coord").innerHTML = msg;
    
 };
 
 var masqueLoadingBud = function() {
    document.getElementById("transbox").style.display = 'none';
 };
 
 var menuProjImm = function() {
    var etat = $("menuProjets").style.display;
    if( etat == 'block' )
        $("menuProjets").style.display = 'none';
    else
        $("menuProjets").style.display = 'block';
 };
 
var updateTerrains = function() {
    
    var arrId = new Array()
    var arrVal = new Array();
    
    var collPlans = document.getElementsByTagName("input");
    
    for( var i=0; i<collPlans.length; i++) {  
        var dernierId = null;
        switch(collPlans[i].value) {
            case 'I':
            case 'R':
                if( collPlans[i].checked == true ) {
                    if( arrId.indexOf(collPlans[i].name) < 0 ) {
                       arrId.push(collPlans[i].name);
                       arrVal.push(collPlans[i].value);
                    } 
                }
            break;
        }
    }
    
    if( arrId.length > 0 ) {
        if( confirm("Désirez-vous vraiment renouveler tous vos terrains pour 3 mois ?") ) {
            // Création de l'objet AJAX
            var ajax = newAjax();
            if(ajax) {
                ajax.open("GET", "updateStatutTerrain.php?id="+arrId+"&action="+arrVal, false);
                ajax.send(null);
                
                try {
                
                    statutUpdateTerr("encours", "Mise à jour en cours, veuillez patienter...");
                    
                    var repxml = ajax.responseXML;
                    var collTerrains = repxml.getElementsByTagName("terrain");
                    var totalDiff = 0;

                    if( collTerrains.length > 0 ) {
                        for(var i=0; i < collTerrains.length; i++) {
                            var node = collTerrains[i];
                            if( node.attributes[0].nodeValue != arrId[i] || 
                                node.attributes[1].nodeValue != arrVal[i] )
                                totalDiff++;                     
                        }
                    }
                    
                    if( totalDiff == 0 ) {
                        // alert("Mise à jour des terrains: succès.");
                        statutUpdateTerr("termine", "Tous vos terrains ont été renouvelés pour 3 mois.");
                        document.location.href = 'adminTerrains.php?update=allok'; 
                    } else {
                        // alert("Mise à jour des terrains: erreur.");
                        statutUpdateTerr("reset", ""); 
                    }
                     
                } catch(e) {
                    alert("Impossible d'obtenir le résultat de cette mise à jour. Veuillez recommencer.\nErreur: "+e);
                    statutUpdateTerr("reset", "");
                }  
            }
        }       
    } else {
        alert("Vous devez sélectionner au moins 1 terrain pour appliquer cette mise à jour.");
    }
};

var checkTousStatut = function() {
   var collRadio = document.getElementsByTagName("input");
   for(var i = 0; i < collRadio.length; i++ ) {
        if( collRadio[i].value == 'I' || collRadio[i].value == 'R' ) {
            collRadio[i].checked = "checked";
        } 
   }
};

var infoExpiration = function(id) {
    window.open("infoexpiration.html#"+id, "infoexp", "width=300,height=300,scrollbars=yes");
};

var infoApprobation = function() {
    window.open("infoapprobation.html", "infoapp", "width=300,height=300,scrollbars=yes");
};

document.getElementsByClassName = function(nomClasse, element) {
	try {
  var resulat = new Array();
  if(nomClasse!="" || typeof element == 'object'){
    var mesFils = element.getElementsByTagName('*');
    var exp_reg = new RegExp("(^|\\s)" + nomClasse + "(\\s|$)");
    for (var i = 0; i < mesFils.length; i++) {
      var laClasse = (mesFils[i].className)? mesFils[i].className : "";
      if(laClasse != "" && (laClasse == nomClasse || laClasse.match(exp_reg))){
        resulat.push(mesFils[i])
      }
    }
  }
	} catch(e) {
  	
  }
  return resulat;
};

var statutUpdateTerr = function(statut, msg) {
   switch(statut) {
    case 'encours': 
        $("imgStatutAjax").setAttribute("src", "img/spinnerterrain.gif");
        $("statutAjax").innerHTML = msg;   
    break;
    case 'termine':
        $("imgStatutAjax").setAttribute("src", "img/tok.gif");
        $("statutAjax").innerHTML = msg;
        alert(msg); 
    break;
    case 'reset':
        $("imgStatutAjax").setAttribute("src", "img/blank.gif");
        $("statutAjax").innerHTML = '&nbsp;'; 
    break;  
   } 
};


var updateClasseDivTerr = function(id, classe) {
   if( classe == '' || id == '' ) 
    return false;
   else {
    try {
        // Étape 1 : On va chercher les enfants du DIV.
        var enfantsTr = document.getElementById("div"+id);
        var total = enfantsTr.childNodes.length;
        
        if( total > 0 ) {
            for(var i=0; i < total; i++) {
                if( enfantsTr.childNodes[i].innerHTML != undefined )
                    enfantsTr.childNodes[i].className = classe;
            }
        }
                
        return true;  
          
    } catch(e) {
        alert(e);
        return false;
    }
     
   } 
};

var updateTerrain = function(action, id) {
    
    if( action != undefined && id != undefined && id != '' ) {
    
        // Création de l'objet AJAX
        var ajax = newAjax();
        
        if( ajax ) {
        
            statutUpdateTerr("encours", "Mise à jour du terrain, veuillez patienter...");
            
            switch(action) {
                case 'I':
                    try {
                        ajax.open("GET", "updateStatutTerrain.php?id="+id+"&action="+action, false);
                        ajax.send(null);
                        var repxml = ajax.responseXML;
                        var t = ajax.responseXML.getElementsByTagName("terrain");
                        if( t[0].firstChild.nodeValue != "Erreur" ) {
                            // Update la classe.
                            // updateClasseDivTerr(id, "terrOK");
                            // Effet pour feedback visuel.
                            new Effect.Pulsate($("div"+id), {pulses: 1, duration: 0.5});
                            // Update texte.
                            statutUpdateTerr("termine", "Ce terrain a bien été renouvelé.");
                            var enfantsTr = document.getElementById("div"+id);
                            var total = enfantsTr.childNodes.length;
                            if( total > 0 ) {
                                var cpt = 0;
                                for(var i=0; i < total; i++) {
                                    if( enfantsTr.childNodes[i].innerHTML != undefined ) {
                                        enfantsTr.childNodes[i].className = "terrOK";
                                        
                                        // Gestion de l'expiration
                                        if( cpt == 4 ) {
                                            var t = repxml.getElementsByTagName("terrain"); 
                                            enfantsTr.childNodes[i].innerHTML = "<a href=\"javascript:infoExpiration('6');\" title=\"Expiration dans 3 mois\">3 mois";
                                        }
                                        
                                        if( cpt == 5 ) {
                                            var t = repxml.getElementsByTagName("terrain"); 
                                            enfantsTr.childNodes[i].innerHTML = "<img src=\"img/tdisponible.gif\" width=\"92\" height=\"16\" style=\"vertical-align: bottom;\" />";
                                        }
                                        
                                        // Gestion des options (radio)
                                        if( cpt == 6 ) {
                                            try {
                                            
                                                var htmlCellule = '';
                                                enfantsTr.childNodes[i].innerHTML = '';
                                                
                                                htmlCellule += "<table width=\"100%\"><tr>";
                                                
                                                 // ------------------------------ Renouveler ------------------------------ //
                                                htmlCellule += "<td width=\"35%\"><input type=\"radio\" name=\""+id+"\" id=\"i"+id+"\" value=\"I\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                                htmlCellule += "&nbsp;<label for=\"i"+id+"\">Renouveler</label>&nbsp;</td>";
                                                // ------------------------------ Vendu ------------------------------ //
                                                htmlCellule += "<td width=\"25%\"><input type=\"radio\" name=\""+id+"\" id=\"v"+id+"\" value=\"V\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                                htmlCellule += "&nbsp;<label for=\"v"+id+"\">Vendu</label>&nbsp;</td>";
                                                // ------------------------------ Supprimer ------------------------------ //
                                                htmlCellule += "<td width=\"35%\"><input type=\"radio\" name=\""+id+"\" id=\"s"+id+"\" value=\"S\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                                htmlCellule += "&nbsp;<label for=\"s"+id+"\">Supprimer</label>&nbsp;</td>";
                                               
                                                htmlCellule += "</tr></table>"; 
                                               
                                               enfantsTr.childNodes[i].innerHTML = htmlCellule;
                                               
                                            } catch(e) {
                                                alert("Impossible de créer les nouvelles options pour ce terrain.\nErreur: "+e);
                                                statutUpdateTerr("reset", "");
                                            }
                                        }
                                        
                                        cpt++;
                                    }
                                }
                            }

                        
                        } else {
                            alert("Impossible de changer l'état du terrain, veuillez recommencer.");
                            statutUpdateTerr("reset", "");
                        }
                        
                    } catch(e) {
                        alert("Impossible de changer l'état du terrain. Veuillez recommencer.\nErreur: "+e);
                        statutUpdateTerr("reset", "");
                    }
                    
                break;
                case 'V':
                    try {
                        ajax.open("GET", "updateStatutTerrain.php?id="+id+"&action="+action, false);
                        ajax.send(null);
                    
                        var t = ajax.responseXML.getElementsByTagName("terrain"); 
                        var repxml = ajax.responseXML;
                        
                        if( t[0].firstChild.nodeValue != "Erreur" ) {
                        
                            new Effect.Pulsate($("div"+id), {pulses: 1, duration: 0.5});
                            statutUpdateTerr("termine", "Ce terrain a bien été vendu.");
                            
                            var enfantsTr = document.getElementById("div"+id);
                            var total = enfantsTr.childNodes.length;

                            if( total > 0 ) {
                                var cpt = 0;
                                for(var i=0; i < total; i++) {
                                    if( enfantsTr.childNodes[i].innerHTML != undefined ) {
                                        enfantsTr.childNodes[i].className = "terrOK";
                                        
                                        // Gestion de l'expiration
                                        if( cpt == 4 ) {
                                            var t = repxml.getElementsByTagName("terrain"); 
                                            enfantsTr.childNodes[i].innerHTML = "<a href=\"javascript:infoExpiration('6');\" title=\"Vendu\">Vendu";
                                        }
                                        
                                        if( cpt == 5 ) {
                                            var t = repxml.getElementsByTagName("terrain"); 
                                            enfantsTr.childNodes[i].innerHTML = "<img src=\"img/tvendu.gif\" width=\"92\" height=\"16\" style=\"vertical-align: bottom;\" />";
                                        }
                                        
                                        // Gestion des options (radio)
                                        if( cpt == 6 ) {
                                            try {
                                                var htmlCellule = '';
                                                enfantsTr.childNodes[i].innerHTML = '';
                                                
                                                htmlCellule += "<table width=\"100%\"><tr>";
                                                
                                                 // ------------------------------ Renouveler ------------------------------ //
                                                htmlCellule += "<td width=\"60%\"><input type=\"radio\" name=\""+id+"\" id=\"i"+id+"\" value=\"I\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                                htmlCellule += "&nbsp;<label for=\"i"+id+"\">Renouveler</label></td>";
                                                // ------------------------------ Supprimer ------------------------------ //
                                                htmlCellule += "<td width=\"35%\"><input type=\"radio\" name=\""+id+"\" id=\"s"+id+"\" value=\"S\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                                htmlCellule += "&nbsp;<label for=\"s"+id+"\">Supprimer</label></td>";
                                               
                                               htmlCellule += "</tr></table>"; 
                                               
                                               
                                               enfantsTr.childNodes[i].innerHTML = htmlCellule;
                                               
                                            } catch(e) {
                                                alert("Impossible de créer les nouvelles options pour ce terrain.\nErreur: "+e);
                                                statutUpdateTerr("reset", "");
                                            }
                                        }
                                        
                                        cpt++;
                                    }
                                }
                            }  
                            
                            updateClasseDivTerr(id, "terrNormal");
                            
                        } else {
                            alert("Impossible de changer l'état du terrain, veuillez recommencer.");
                            statutUpdateTerr("reset", "");
                        }
                    } catch(e) {
                        alert("Impossible de changer l'état du terrain. Veuillez recommencer.\nErreur: "+e);
                        statutUpdateTerr("reset", "");
                    }
                break;
                case 'S':
                    if( confirm("Êtes-vous sûr de vouloir supprimer ce terrain?") ) {
                        try {
                            ajax.open("GET", "updateStatutTerrain.php?id="+id+"&action="+action, false);
                            ajax.send(null);
                            var t = ajax.responseXML.getElementsByTagName("terrain"); 
                            if( t[0].firstChild.nodeValue != "Erreur" ) {
                                new Effect.SwitchOff($("div"+id));
                                statutUpdateTerr("termine", "Ce terrain a bien été supprimé.");
                                // Update le total.
                                if( t[0].attributes[2].nodeValue == 0 )
                                    document.location.href = 'adminTerrains.php';
                                else
                                    $("totalTerrains").innerHTML = t[0].attributes[2].nodeValue;
                            } else {
                                alert("Impossible de supprimer le terrain, veuillez recommencer.");
                                statutUpdateTerr("reset", "");
                            }
                        } catch(e) {
                            alert("Impossible de supprimer ce terrain. Veuillez recommencer.\nErreur: "+e);
                            statutUpdateTerr("reset", "");
                        }
                    } else {
                       statutUpdateTerr("reset", ""); 
                    }  
                break;
                case 'R':
                
                    try {
                    
                        ajax.open("GET", "updateStatutTerrain.php?id="+id+"&action="+action, false);
                        ajax.send(null);
                    
                        var repxml = ajax.responseXML;
                    
                        var enfantsTr = document.getElementById("div"+id);
                        var total = enfantsTr.childNodes.length;

                        if( total > 0 ) {
                            var cpt = 0;
                            for(var i=0; i < total; i++) {
                                if( enfantsTr.childNodes[i].innerHTML != undefined ) {
                                    enfantsTr.childNodes[i].className = "terrOK";
                                    
                                    // Gestion de l'expiration
                                    if( cpt == 4 ) {
                                        var t = repxml.getElementsByTagName("terrain"); 
                                        enfantsTr.childNodes[i].innerHTML = "<a href=\"javascript:infoExpiration('6');\" title=\"3 mois\">3 mois";
                                    }
                                    
                                    if( cpt == 5 ) {
                                        var t = repxml.getElementsByTagName("terrain"); 
                                        enfantsTr.childNodes[i].innerHTML = "<img src=\"img/tdisponible.gif\" width=\"92\" height=\"16\" style=\"vertical-align: bottom;\" />";
                                    }                                    
                                    
                                    // Gestion des options (radio)
                                    if( cpt == 6 ) {
                                        try {
                                            var htmlCellule = '';
                                            enfantsTr.childNodes[i].innerHTML = '';
                                            
                                            htmlCellule += "<table width=\"100%\"><tr>";
                                            
                                             // ------------------------------ Renouveler ------------------------------ //
                                            htmlCellule += "<td width=\"35%\"><input type=\"radio\" name=\""+id+"\" id=\"i"+id+"\" value=\"I\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                            htmlCellule += "&nbsp;<label for=\"i"+id+"\">Renouveler</label></td>";
                                            // ------------------------------ Vendu ------------------------------ //
                                            htmlCellule += "<td width=\"25%\"><input type=\"radio\" name=\""+id+"\" id=\"v"+id+"\" value=\"V\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                            htmlCellule += "&nbsp;<label for=\"v"+id+"\">Vendu</label></td>";
                                            // ------------------------------ Supprimer ------------------------------ //
                                            htmlCellule += "<td width=\"35%\"><input type=\"radio\" name=\""+id+"\" id=\"s"+id+"\" value=\"S\" onclick=\"updateTerrain(this.value, this.name);\" />";
                                            htmlCellule += "&nbsp;<label for=\"s"+id+"\">Supprimer</label></td>";
                                           
                                            htmlCellule += "</tr></table>"; 
                                           
                                           enfantsTr.childNodes[i].innerHTML = htmlCellule;
                                               
                                            statutUpdateTerr("termine", "Ce terrain a été renouvelé.");
                                             
                                        } catch(e) {
                                            alert("Impossible de créer les nouvelles options pour ce terrain.\nErreur: "+e);
                                            statutUpdateTerr("reset", "");
                                        }
                                    }
                                    
                                    cpt++;
                                }
                            }
                        }
                         
                    } catch(e) {
                        alert("Impossible de réactiver ce terrain. Veuillez recommencer.\nErreur: "+e);
                        statutUpdateTerr("reset", "");
                    }
                    
                break;
            }
            
        } else {
            alert("Impossible de créer l'objet Ajax. Veuillez réessayer.");
        }
    
    } else {
        alert("Paramètres du terrain incorrects. Veuillez recommencer.");
    }
};
 
var contactSimulation = function(id) {
    
    $("msgError").innerHTML = '';
    $("msgError").style.display = 'none';
    
    if( id == '' ) {
        $("msgError").style.display = 'block';
        $("msgError").innerHTML = "Une erreur interne est survenue. Impossible d'envoyer votre demande. Veuillez recommencer.";
        return false;
    } else {
        try {
            
            if( $("telPrenomClient").value != '' && 
                $("telNomClient").value != '' && 
                $("telCodePostalClient").value != '' && 
                $("telPhoneClient").value ) {
                
                    // Veuillez patienter...
                    $("msgLoading").style.display = 'block';
                    $("msgLoading").innerHTML = "Veuillez patienter, envoie en cours...";
                    
                    var ajax = newAjax();
                    var dataPost = null;
                    ajax.open("POST", "contactBureauSim.php", false);
                    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
                    
                    dataPost = "IdSimulation="+id;
                    dataPost += "&prenom="+$("telPrenomClient").value
                    dataPost += "&nom="+$("telNomClient").value;
                    dataPost += "&codePostal="+$("telCodePostalClient").value;
                    dataPost += "&telephone="+$("telPhoneClient").value;
                    
                    ajax.send(dataPost);
                    
                    if( ajax.responseText != 'Erreur' ) {
                       $("msgLoading").innerHTML = "Merci! Votre demande a bien été reçue. Un conseiller vous contactera rapidement."; 
                       $("btnEnvoyerContact").style.display = 'none';
                       $("btnAnnulerContact").setAttribute("value", "Fermer");
                       destroycatfish();  
                    } else {
                       $("msgLoading").display = 'none';
                       $("msgError").style.display = 'block';
                       $("msgError").innerHTML = "Impossible d'envoyer votre demande, veuillez recommencer.";
                    }
                         
            } else {  
                $("msgError").style.display = 'block';
                $("msgError").innerHTML = "Veuillez remplir tous les champs."; 
            }
               
        } catch(e) {
            $("msgError").style.display = 'block';
            $("msgError").innerHTML = "Une erreur interne est survenue ("+e+"). Impossible d'envoyer votre demande. Veuillez recommencer."; 
        }  
    }    
};

var lancerContact = function(id) {
    document.getElementById("nouvService").style.display = 'none';
    window.open("http://www.maisonlaprise.com/contact.php?IdSimulation=" + id);
};

var masquerPopSuiviSim = function(rep, id) {
    
    if( rep == 'non' ) {
       $("nouvService").style.display = 'none';
    }
    
    try {
        
        var ajax = newAjax();
        var flagRep = false;
        var urlAjax = '';
        var boolContinue = true;
        
        if( rep == 'oui' ) {
            if( $("txtMailSim").value == '' ) {
                alert("Veuillez spécifier un courriel valide.");
                boolContinue = false;
            } else
              urlAjax = "setPopSuiviSim.php?IdSimulation=" + id+"&rep=1&mail="+$("txtMailSim").value;
        } else {
            urlAjax = "setPopSuiviSim.php?IdSimulation=" + id+"&rep=0";
        }
        
        if( boolContinue ) {    
            ajax.open("GET", urlAjax, false);
            ajax.send(null);
            
            var repXML = ajax.responseXML.getElementsByTagName("rep");
            
            if( repXML[0].attributes[0].nodeValue == "ok" ) {
                if( rep == 'oui' )
                    alert("Merci! Vous allez recevoir votre simulation d'ici quelques minutes.\nUn conseiller vous contactera également pour répondre à vos questions.");
                $("nouvService").style.display = 'none';
            } else {
                alert("Une erreur est survenue :\n" + repXML[0].firstChild.nodeValue );
            }
        }
   
    } catch(e) { 
        alert("Impossible d'assurer le suivi ("+e+") de votre simulation. SVP, veuillez contacter Maisons Laprise.");
    }

};

var popOptions = function() {
    document.getElementById("zoneImpression").style.display = 'block';
};

function changerPaysManuel() {
	
	var idPays = document.getElementById('lstPaysDevise').value;
	var nomPays = document.getElementById('lstPaysDevise').options[document.getElementById('lstPaysDevise').selectedIndex].innerHTML;
	
		objAjax = new Ajax();
		objAjax.async = false;

		try {
			objAjax.doPost("changerPaysManuel.php",
				"IdPays="+idPays+"&PaysVisiteur="+nomPays,
				changerPaysManuelCB,
				"xml");
		} catch(e) { 
			
		}
}

function changerPaysManuelCB() {
	window.location.reload();
}

function validerMontant_ONKEYDOWN(e) {
    var kc;
 
    if(e.keyCode) {
        kc = e.keyCode;
    } else {
        kc = e.which; 
    }    
    
    /******************** 
    *** KeyCodes ***
    * 8 => backspace
    * 9 => tab
    * 13 => enter
    * 37 => left arrow
    * 39 => right arrow
    * 46 => delete
    * 96-105 => numpad
    * 109 & 189 => -
    * 110 & 190 => .
    ********************/
    if(kc != 8 && kc != 9 && kc != 13 && kc != 37 && kc != 39 && kc != 46 && kc != 109 && kc != 110 && kc != 189 && kc != 190 && (kc < 96 || kc > 105)) {
        var car = String.fromCharCode(kc);

        if((!car.match(/[0-9\.\-]/) || e.shiftKey || e.ctrlKey || e.altKey)) {
            if(window.event) {
                // IE
                e.returnValue = false;
            } else {
                // FF
                e.preventDefault();
            }
        }
    } else if(kc == 110 || kc == 190) {
        var textBox;
    
        if(window.event) {
            // IE
            textBox = e.srcElement;
        } else {
            // FF
            textBox = e.target;
        }
        
        if(textBox && textBox.value.indexOf(".") >= 0) {
            if(window.event) {
                // IE
                e.returnValue = false;
            } else {
                // FF
                e.preventDefault();
            }
        }
    }
}

function maximizeWindow(url, nom) {
	var w = window.screen.availWidth;
	var h = window.screen.availHeight;
		
	window.open(url, nom, 'screenX=0,screenY=0,left=0,top=0,width=' + w + ',height=' + h +',resizable=yes,scrollbars=yes,menubar=no,toolbar=no,location=no,directories=no,status=yes');
}


function ajusterTopLightbox(obj) {
	if(obj) {
		var top = obj.offsetTop;
		
		if(top.length == 0) {
			top = 0;
		}
		
		if(navigator.appName == "Microsoft Internet Explorer") {
			obj.style.top = +top + +document.documentElement.scrollTop;
		} else { 
			obj.style.top = (+top + +window.pageYOffset) + "px";
		}
	}
}

function reinitialiserTopLightbox(obj) {
	if(obj) {
		var top = obj.offsetTop;
		
		if(top.length == 0) {
			top = 0;
		}
		
		if(navigator.appName == "Microsoft Internet Explorer") {
			obj.style.top = top - document.documentElement.scrollTop;
		} else {
			obj.style.top = (top - window.pageYOffset) + "px";
		}
	}
}

var afficherLightbox = function(idDiv, boolOpaque) {
	if(document.getElementById("fade").style.display != "block") {
		document.getElementById(idDiv).style.display = "block";
		ajusterTopLightbox(document.getElementById(idDiv));
		document.getElementById("fade").style.display = "block";
		ajusterTopLightbox(document.getElementById("fade"));
		disableScrolling();
	}
};

var cacherLightbox = function(idDiv, boolOpaque) {
	if(document.getElementById("fade").style.display != "none") {
		reinitialiserTopLightbox(document.getElementById(idDiv));
		document.getElementById(idDiv).style.display = "none";
		reinitialiserTopLightbox(document.getElementById("fade"));
		document.getElementById("fade").style.display = "none";
		enableScrolling();
	}
};


function disableScrolling() {
    if(navigator.appName == "Microsoft Internet Explorer") {
        document.documentElement.style.overflowX = "hidden";
        document.documentElement.style.overflowY = "hidden";
    } else {
        document.body.style.overflow = "hidden";
    }
}

function enableScrolling() {
    if(navigator.appName == "Microsoft Internet Explorer") {
        document.documentElement.style.overflowX = "auto";
        document.documentElement.style.overflowY = "scroll";
    } else {
        document.body.style.overflow = "auto";
    }
}
