








	/*Object ElemMenu*/
	function ElemMenu(idancestor,id,dcr,isMasked)
	{
		this.idancestor = idancestor;
		this.id = id;
		this.dcr = dcr;
                this.isMasked = isMasked;
	}
	/*Object ItemMenu*/
	function ItemMenu(name)
	{
		this.name = name;
		this.tabDcrs = new Array;/*Table of DCRs contained in this item*/
		this.tabElems = new Array;/*Table of ElemMenu contained in this item*/
		this.addElem = addElemMenu;
		this.containDcr = containDcrMenu;
		this.getTabIds = getTabIdsMenu;
		this.getElemMenuById = getElemMenuById;
                this.getElemMenuByDcr = getElemMenuByDcr;
        }
        /*Function for add an ElemeMenu in ItemMenu*/
        function addElemMenu(idancestor,id,dcr,isMasked)
        {
                if(typeof(isMasked)=='undefined') isMasked = false;
		this.tabDcrs.push(dcr);
		var newElem = new ElemMenu(idancestor,id,dcr,isMasked);
		this.tabElems.push(newElem);
	}
	/*Function for find if ItemMenu contain a dcr*/
	function containDcrMenu(dcr)
	{
		for(var i=0;i<this.tabDcrs.length;i++){
			if(this.tabDcrs[i] == dcr) {
				return true;
			}
		}
		return false;
	}
	/*Function for get an ElemeMenu in ItemMenu by Id*/
	function getElemMenuById(id)
	{
		for(var i=0;i<this.tabElems.length;i++){
			if(this.tabElems[i].id == id) {
				return this.tabElems[i];
			}
		}
		return false;
	}
        /*Function for get an ElemeMenu in ItemMenu by Dcr*/
        function getElemMenuByDcr(dcr)
        {
                for(var i=0;i<this.tabElems.length;i++){
                        if(this.tabElems[i].dcr == dcr) {
                                return this.tabElems[i];
                        }
                }
                return false;
        }
	/*Function for get the table of self and ancestor IDs ElemeMenu in ItemMenu by dcr*/
	function getTabIdsMenu(dcr)
	{
		if(this.containDcr(dcr)) {
			var tabIds = new Array;
			for(var i=0;i<this.tabElems.length;i++){
				if(this.tabElems[i].dcr == dcr) {
					tabIds.push(this.tabElems[i].id);
					var idancestor = this.tabElems[i].idancestor;
					while(idancestor > 0){
						var ancestor = this.getElemMenuById(idancestor);
						if(ancestor) {
							tabIds.push(ancestor.id);
							idancestor = ancestor.idancestor;
						} else {
							idancestor = 0;
						}
					}
					return tabIds;
				}
			}
		}
		return false;
	}


	/*Object MenuAF*/
	function MenuAF()
	{
		this.tabItems = new Array;/*Table of Items contained in this menu*/
		this.addItem = addItemMenu;
		this.getCurrentRubrique = getCurrentRubrique;
		this.getCurrentItem = getCurrentItem;		
                this.isCurrentItemMasked = isCurrentItemMasked;
	}
	/*Function for add an item in MenuAF*/
	function addItemMenu(newItem)
	{
		this.tabItems.push(newItem);
	}
	/*Function for get the current ItemMenu object through cu_Dcr set in tpl*/
	function getCurrentItem()
	{
		if(cu_Dcr && cu_Dcr.length > 0){
			for(var i=0;i<this.tabItems.length;i++){
				if(this.tabItems[i].containDcr(cu_Dcr)) {
					return this.tabItems[i];
				}
			}
                        if(cu_Dcr=="reservation") {return  this.tabItems[0];}
                        if(cu_Dcr=="award") {return  this.tabItems[6];}
                        if(cu_Dcr=="infovol") {return  this.tabItems[1];}
                        if(cu_Dcr=="horaire") {return  this.tabItems[1];}
		}
		return false;
	}
	/*Function for get the currentRubrique through cu_Dcr set in tpl*/
	function getCurrentRubrique()
	{
		var currentItemMenu = this.getCurrentItem();
		if(currentItemMenu) {
			return "id_" + currentItemMenu.name;
		}
		return false;
	}
        /*Function for get if the fluctuant is masked for the currentRubrique*/
        function isCurrentItemMasked()
        {
                var currentItemMenu = this.getCurrentItem();
                if(currentItemMenu) {
                        var currentElemMenu = currentItemMenu.getElemMenuByDcr(cu_Dcr);
                        if(currentElemMenu) {
                                return currentElemMenu.isMasked;
                        }
                }
                return false;
        }




/*Begin set of ItemMenu Objects with xml menu*/

		
		var menuAF = new MenuAF();
		
		
		var itemUn = new ItemMenu('itemUn');
		menuAF.addItem(itemUn);
		itemUn.addElem(0,1,"accueil_achat_enregistrement");itemUn.addElem(1,2,"reservation_achat_onglet");itemUn.addElem(2,3,"gamme_tarif_onglet");itemUn.addElem(2,4,"carte_paiement");itemUn.addElem(2,5,"assurance_onglet");itemUn.addElem(1,6,"option_payante");itemUn.addElem(1,7,"tarifs_promotions");itemUn.addElem(1,8,"reservation_gerer");itemUn.addElem(1,9,"enregistrement_carte_embarquement");itemUn.addElem(9,10,"enregistrement_onglet");itemUn.addElem(9,11,"aeroport_enregistrement");itemUn.addElem(9,12,"enregistrement_hle");
		
		var itemDeux = new ItemMenu('itemDeux');
		menuAF.addItem(itemDeux);
		itemDeux.addElem(0,1,"accueil_infos_vols_destinations");itemDeux.addElem(1,2,"reseau_af");itemDeux.addElem(2,3,"guide_destination");itemDeux.addElem(2,4,"destination_airfrance");itemDeux.addElem(2,5,"reseau_onglet");itemDeux.addElem(2,6,"region_au_depart");itemDeux.addElem(2,7,"avion_train_onglet");itemDeux.addElem(1,8,"horaires");itemDeux.addElem(1,9,"airfrance_vous_contacte");itemDeux.addElem(1,10,"plan_cabine");itemDeux.addElem(1,11,"travel_guide");itemDeux.addElem(1,12,"aeroport_parisien");itemDeux.addElem(12,13,"transfert_aeroport");itemDeux.addElem(12,14,"correspondance_cdg");itemDeux.addElem(12,15,"parking_aeroport");itemDeux.addElem(12,16,"service_personnalise_aeroport");
		
		var itemTrois = new ItemMenu('itemTrois');
		menuAF.addItem(itemTrois);
		itemTrois.addElem(0,1,"accueil_preparation_voyage");itemTrois.addElem(1,2,"bagage");itemTrois.addElem(2,3,"bagage_cabine_onglet");itemTrois.addElem(2,4,"bagage_soute_onglet");itemTrois.addElem(2,5,"bagage_special_onglet");itemTrois.addElem(1,6,"formalite_onglet");itemTrois.addElem(1,7,"famille_enfant_non_accompagne");itemTrois.addElem(7,8,"famille_enfant_onglet");itemTrois.addElem(7,9,"voyage_enfant_seul");itemTrois.addElem(7,10,"femme_enceinte");itemTrois.addElem(1,11,"assistance_passager");itemTrois.addElem(11,12,"pmr_onglet");itemTrois.addElem(11,13,"pfc");itemTrois.addElem(1,14,"bien_etre_sante");itemTrois.addElem(14,15,"bien_etre_onglet");itemTrois.addElem(14,16,"bien_etre_sante_vaccination");itemTrois.addElem(14,17,"anti_stress");itemTrois.addElem(1,18,"animal_onglet");itemTrois.addElem(1,19,"autre_service");itemTrois.addElem(19,20,"voiture");itemTrois.addElem(19,21,"hotel");itemTrois.addElem(19,22,"tourisme");itemTrois.addElem(1,23,"vol_hotel");
		
		var itemQuatre = new ItemMenu('itemQuatre');
		menuAF.addItem(itemQuatre);
		itemQuatre.addElem(0,1,"accueil_aeroport");itemQuatre.addElem(1,2,"la_premiere_onglet");itemQuatre.addElem(1,3,"affaires_onglet");itemQuatre.addElem(1,4,"premium_voyageur_onglet");itemQuatre.addElem(1,5,"alize_onglet");itemQuatre.addElem(1,6,"premium_europe_onglet");itemQuatre.addElem(1,7,"voyageur_reseau");itemQuatre.addElem(7,8,"voyageur_onglet");itemQuatre.addElem(7,9,"voyageur");itemQuatre.addElem(7,10,"vols_en_france");itemQuatre.addElem(1,11,"divertissement_onglet");itemQuatre.addElem(1,12,"A380_onglet");itemQuatre.addElem(1,13,"salon_onglet");
		
		var itemCinq = new ItemMenu('itemCinq');
		menuAF.addItem(itemCinq);
		itemCinq.addElem(0,1,"accueil_flying_blue");itemCinq.addElem(1,2,"fblue_welcome");itemCinq.addElem(2,3,"fblue_adhesion");itemCinq.addElem(2,4,"fblue_avantages_elite_onglet");itemCinq.addElem(2,5,"fblue_manage_my_account");itemCinq.addElem(2,6,"fblue_regulariser");itemCinq.addElem(2,7,"fblue_book_flight");itemCinq.addElem(2,8,"fblue_news");itemCinq.addElem(2,9,"fblue_gagner_utiliser_amex_onglet");itemCinq.addElem(2,10,"fblue_acheter");itemCinq.addElem(1,11,"fjeune_essentiel_onglet");itemCinq.addElem(1,12,"petroleum_programme_onglet");itemCinq.addElem(1,13,"fblue_clubs");itemCinq.addElem(1,14,"voyageurs_americain_v2");itemCinq.addElem(14,15,"af_amex_silver_onglet_v2");itemCinq.addElem(14,16,"af_amex_gold_onglet_v2");itemCinq.addElem(14,17,"af_amex_platinum_onglet_v2");
		
		var itemSix = new ItemMenu('itemSix');
		menuAF.addItem(itemSix);
		itemSix.addElem(0,1,"accueil_offre_entreprise_zz");itemSix.addElem(1,2,"offres_commerciales");itemSix.addElem(2,3,"bluebiz");itemSix.addElem(2,4,"carte_abonnement_onglet");itemSix.addElem(2,5,"carte_corporate");itemSix.addElem(1,6,"gerer_voyage_professionnel");itemSix.addElem(6,7,"solutions_blueconnect");itemSix.addElem(6,8,"service_proximite");itemSix.addElem(1,9,"congres_salon_seminaire");itemSix.addElem(1,10,"afkl_newsaffaires");

		
		var itemFooter = new ItemMenu('itemFooter');
		menuAF.addItem(itemFooter);
		itemFooter.addElem(0,0,"footer");itemFooter.addElem(0,1,"aide_et_contact");itemFooter.addElem(0,2,"internet_mobile_airfrance");itemFooter.addElem(0,3,"plan_du_site");itemFooter.addElem(0,4,"edito_preambule");itemFooter.addElem(0,5,"Vols Air France");itemFooter.addElem(0,6,"vol-nice");itemFooter.addElem(0,7,"vol-toulouse");itemFooter.addElem(0,8,"facebook");itemFooter.addElem(0,9,"twitter");itemFooter.addElem(0,10,"google+");itemFooter.addElem(0,11,"E-news");itemFooter.addElem(0,12,"L'art du voyage");itemFooter.addElem(0,13,"laboutique");itemFooter.addElem(0,14,"E-shopping");itemFooter.addElem(0,15,"corporate_airfrance");itemFooter.addElem(0,16,"airfranceklm");itemFooter.addElem(0,17,"developpement_durable");itemFooter.addElem(0,18,"La Saga historique");itemFooter.addElem(0,19,"goodies");itemFooter.addElem(0,20,"klm");itemFooter.addElem(0,21,"SkyTeam");itemFooter.addElem(0,22,"autres_sites_af");

/*End set of ItemMenu Objects with xml menu*/

cu_Http="http://";
cu_Https="https://";


/*fonction pour ouvrir les liens du menu (permet la gestion des params d'ouverture en popup)*/
function af_md(iu_UrlMenu,iu_HttpsMenu,iu_ParametreMenu)
{
  var vo_UrlMenu=new String(iu_UrlMenu) ;
  if (vo_UrlMenu.length && vo_UrlMenu.substr(0,7)!= "http://" && vo_UrlMenu.substr(0,8)!= "https://"){
  	/*Si on a une action ou une jsp on ajoute la chaine base cgi-bin/AF et la session*/
		if (vo_UrlMenu.indexOf(".jsp")>0){
			vo_UrlMenu=(iu_HttpsMenu?cu_Https:cu_Http)+cu_Serveur+chaineBase+vo_UrlMenu;
		}
		else{   	/*Si on a une page statique on ajoute juste la session*/
			if (vo_UrlMenu.indexOf(".htm")>0 || vo_UrlMenu.indexOf(".html")>0){
				vo_UrlMenu=(iu_HttpsMenu?cu_Https:cu_Http)+cu_Serveur+vo_UrlMenu;
			}
		}
  }
  /*affichage du lien en popum avec les params recup du xml menu*/
  if (iu_ParametreMenu)
  {
    var vo_FenetreMenu = window.open(vo_UrlMenu,"popup",iu_ParametreMenu);
    vo_FenetreMenu.focus();
		var vo_PopMenu = window.open(vo_UrlMenu,"popup",iu_ParametreMenu+",scrollbars=yes");
		if((!vo_PopMenu) || (vo_PopMenu.closed)){
		      alert(".");
		} else{
		 vo_FenetreMenu.focus();
		}	  
	}
  else 	/*Si url complete on la passe telle suelle*/
  {
	document.location=vo_UrlMenu;
  }
}


/*Alimentation des variables utiles pour le header*/
var affichagePicto = "Yes";
var countryLabel = "France";
var searchInSiteUrl = "";
var defaultSeachInputContent = "";
var aideUrl = "/FR/fr/local/transverse/footer/aide_et_contact.htm";
var aideParamUrl = "";
var aideLibUrl = "Nous contacter";
var faqUrl = " ";
var faqParamUrl = "";
var faqLibUrl = " ";
var champsRechercher = "";

var premiereLangue =  "Français";
var deuxiemeLangue =  "English";
var troisiemeLangue =  "";
var isMultiLangues = premiereLangue && deuxiemeLangue;
var autresPays = "Autres pays ";



var premiereLangueUrl = "/"+cu_Marche+"/fr/common/home/vols/billet-avion.do";
var deuxiemeLangueUrl =  "/"+cu_Marche+"/en/common/home/vols/billet-avion.do";
var troisiemeLangueUrl = "";
var autresPaysUrl = "/FR/fr/local/home/home/redirection_home.jsp";
var traductionPays= "France";
var urlQgo =  "http://faq.airfrance.fr/b2c/AskQuestion.do";
var qgoRechercher =  "Posez ici votre question";
var qgoOk =  "ok";

var profileHome = "https://"+document.location.hostname+"/"+cu_Marche+"/"+cu_Langue+"/common/personnalisation/nonloggue/modifierMonAirfranceFFPSecurise.do";
var siteHome = "https://"+document.location.hostname+"/"+cu_Marche+"/"+cu_Langue+"/common/home/vols/billet-avion.do";


function initFaqPopup() {
  document.getElementById('idFaqQuestion').value = document.getElementById('idQgoQuestion').value;
  document.getElementById('idFaqLanguage').value = cu_Langue;
  document.getElementById('idFaqCountry').value = cu_Marche;
  document.getElementById('idFaqReferrer').value = cu_Serveur;
  document.getElementById('idFaqDefaultQuestionBoolean').value = (document.getElementById('idQgoQuestion').value==document.getElementById('idQgoQuestion').defaultValue);
  var popup = window.open('','faqPopup','menubar=no, location=no, scrollbars=no, statusbar=no, width=890, height=450');
  document.faqForm.action = 'http://faq.airfrance.fr/b2c/AskQuestion.do';
  document.faqForm.target = 'faqPopup';
  document.faqForm.submit();
}

function goToHome() {
  var urlHomePage = "";
  for (var i=0;i<cu_Monet.length;i++){
     if (cu_Marche == cu_Monet[i]) { 
          urlHomePage = '/' + cu_Marche + '/' + cu_Langue + '/common/home/vols/billet-avion.do'; 
          break;
     }
  }
  if (urlHomePage == ""){
		for (i=0; i<cu_MonetNonVendeur.length; i++){
			if (cu_Marche == cu_MonetNonVendeur[i]) {
				urlHomePage = '/' + cu_Marche + '/' + cu_Langue + '/common/home/vols/billet-avion.do' + '?' + chaineLien;
				break;
			}
		}
	}
	
  if (urlHomePage == ""){
     urlHomePage = '/' + cu_Marche + '/' + cu_Langue + '/common/util/forwardClusterAction.do?url=flyingblue.htm';     
  }
  document.location = urlHomePage;
}

/* Variables pour le bloc FB */
	var libBoutonDepliantShow = "Afficher";
	var libBoutonDepliantHide = "Masquer";

  var msgNoReservation = "Vous n'avez aucune réservation en cours";
  var msgOtherReservations = "Toutes vos réservations";
  var labelRef = "Réf.";

	var urlLoginXml = '/' + cu_Marche + '/' + cu_Langue + '/local/home/login/XmlLoginAction.do';

	var libNiveauxTier = new Array();
	libNiveauxTier[0] = "Membre Flying Blue Ivory";
	libNiveauxTier[1] = "Membre Flying Blue Silver";
	libNiveauxTier[2] = "Membre Flying Blue Club 2000";
	libNiveauxTier[3] = "Membre Flying Blue Jeune";
	libNiveauxTier[4] = "Membre Flying Blue Jeune";
	libNiveauxTier[5] = "Membre Flying Blue Gold";
	libNiveauxTier[6] = "Membre Flying Blue Platinum";
	
	var msg_plage_longueur_alphanum = "Le champ {0} doit contenir entre {1} et {2} caractères.";
	var msg_champs_alphanumeriques = "Le champ {0} ne doit pas contenir d’espace, ni les symboles *+-/, ni de caractères spéciaux.";
	var msgMandatoryField = "Veuillez remplir le(s) champ(s) obligatoire(s).";

	var vocaIdentifiant	= "Identifiant";
	var vocaMotDePasse	= "Code d'accès";
    if (isMyAccountActive){
        vocaIdentifiant = "Identifiant Flying Blue";
        vocaMotDePasse  = "Code d'accès";
    }
	/** Controle : Identifiant **/
	var msgFbNumberLength = msg_plage_longueur_alphanum.replace('\{0\}', vocaIdentifiant);
	msgFbNumberLength = msgFbNumberLength.replace("\{1\}", "6");
	msgFbNumberLength = msgFbNumberLength.replace("\{2\}", "16");
	msgFbNumberLength = msgFbNumberLength.replace("'", "\'");

	var msgFbNumberAlphaNum = msg_champs_alphanumeriques.replace("\{0\}", vocaIdentifiant);
	msgFbNumberAlphaNum = msgFbNumberAlphaNum.replace("'", "\'");
    var msg_email_mya = "L adresse e-mail que vous avez saisie est erronée.";  

	/** Controle : Mot de passe **/
	var msgFbPasswordLength = msg_plage_longueur_alphanum.replace("\{0\}",vocaMotDePasse);
	msgFbPasswordLength = msgFbPasswordLength.replace("\{1\}", "4");
	msgFbPasswordLength = msgFbPasswordLength.replace("\{2\}", "10");
	msgFbPasswordLength = msgFbPasswordLength.replace("'", "\'");

	var msgFbPasswordAlphaNum = msg_champs_alphanumeriques.replace("\{0\}", vocaMotDePasse);
	msgFbPasswordAlphaNum = msgFbPasswordAlphaNum.replace("'", "\'");

    var vocaMotDePasseMA  = "Mot de passe";
    var msgMAPasswordLength = msg_plage_longueur_alphanum.replace("\{0\}",vocaMotDePasseMA);
    msgMAPasswordLength = msgMAPasswordLength.replace("\{1\}", "6");
    msgMAPasswordLength = msgMAPasswordLength.replace("\{2\}", "12");
    msgMAPasswordLength = msgMAPasswordLength.replace("'", "\'");

    var msgMAPasswordAlphaNum = msg_champs_alphanumeriques.replace("\{0\}", vocaMotDePasseMA);
    msgMAPasswordAlphaNum = msgMAPasswordAlphaNum.replace("'", "\'");

    var msgFbPasswordDigits = "Le champs {0} doit contenir entre {1} et {2} chiffres.";
    msgFbPasswordDigits = msgFbPasswordDigits.replace("\{0\}",vocaMotDePasse);
    msgFbPasswordDigits = msgFbPasswordDigits.replace("\{1\}", "4");
    msgFbPasswordDigits = msgFbPasswordDigits.replace("\{2\}", "6");
    msgFbPasswordDigits = msgFbPasswordDigits.replace("'", "\'");
    
	function showLoginError(errorCode) {
		var errorMsg;
		if(errorCode == 'COMM_MESG_LOGIN_NON_TROUVE') {
			errorMsg = "Les données saisies ne nous ont pas permis de retrouver votre profil. Merci de vérifier votre saisie.";
		}
		if(errorCode == 'COMM_MESG_LOGIN_INVALIDE') {
			errorMsg = "L’identifiant ou le code d’accès saisi est erroné. Après 3 essais infructueux, votre compte sera bloqué pendant 30 minutes. Si vous avez perdu votre identifiant et/ou votre code d’accès, nous vous invitons à cliquer sur le lien « Code perdu » du bloc d’authentification Flying Blue.  A noter : pour des raisons de sécurité, vos anciens codes ne sont plus valides.";
		}
		if(errorCode == 'COMM_MESG_FORMAT_PASSWORD') {
			errorMsg = "Votre code d'accès est incorrect. Vous devez utiliser votre code d'accès personnel de 4 chiffres pour vous identifier. Vous disposez de 3 tentatives pour saisir votre code d'accès.";
		}
		if(errorCode == 'COMM_MESG_LOGIN_BLOQUE') {
			errorMsg = "L'accès à votre compte est suspendu pendant 30 minutes.";
		}
		if(errorCode == 'COMM_MESG_LOGIN_INVALIDE_BLOQUE') {
			errorMsg = "Ce code d'accès est incorrect. L'accès à votre compte est maintenant suspendu pendant 30 minutes.";
		}
		if(errorCode == 'COMM_MESG_POSSEDE_LOGIN') {
			errorMsg = "Vous possédez un profil internet, merci d'utiliser votre identifiant.";
		} 
		if(errorCode == 'COMM_MESG_REFUSER') {
			errorMsg = "Vous devez être membre du programme Flying Blue pour accèder au site.";
		}  
		if(errorCode == 'COMM_MESG_ERREUR_TECHNIQUE') {
			errorMsg = "Actuellement, nous ne pouvons satisfaire votre demande. Nous vous présentons nos excuses.";
		}
		alert(errorMsg);
	}

function toggleLoginBoxState(){
 if(document.getElementById("FBNotLoggued") != null){
	 if(document.getElementById("FBNotLoggued").style.display =="block"){
		 document.getElementById("FBNotLoggued").style.display = "none";
		 if(document.getElementById("toggleLogoFB") != null)document.getElementById("toggleLogoFB").src = "/FR/common/common/img/logos/FBLogo_closed.gif";
	 }
	 else {
		 if(document.getElementById("toggleLogoFB") != null)document.getElementById("toggleLogoFB").src = "/FR/common/common/img/logos/FBLogo_open.gif";
			 document.getElementById("FBNotLoggued").style.display = "block";
		
		 }
 }
}

