

if(!SOF) {var SOF = {};}

SOF.fhdyn = {
	
	
	lang : FH.getLang(),
	rid: FH.getRid(),
	brand :FH.getBrand(),
	mark:FH.getMark(),
	imgpath:FH.en2gb(FH.getLang()),
	version:FH.getVersion(),
	
	
	init: function() {
		//gestion des iframes
		if (document.location.href.match(/bloc_moteur_fh/) || document.location.href.match(/bloc_moteur_travel_fh/)) {
			SOF.fhdyn.initMoteur();		
		} else if (document.location.href.match(/bloc_moteur_tha_fh/)) {
			SOF.fhdyn.initMoteurTha();
		} else if (document.location.href.match(/route.html/)) {
			SOF.fhdyn.route();
		} else {
			SOF.fhdyn.initOnglet();
		}
		},
	
	
	initOnglet : function(){
			  var d_rfpCriteria;
			  var d_isUserLoggedIn = false;
    		function NavBarInfo(isActive,lienBack,lienMoins,lienPlus){this.isActive = isActive;this.lienBack = lienBack;this.lienPlus = lienPlus;this.lienMoins = lienMoins;}
     		var d_lienResa = "", d_imagePath = SOF.fhdyn.imgpath, d_brand = SOF.fhdyn.brand, d_mark = SOF.fhdyn.mark, d_hotelCode = SOF.fhdyn.rid;
				
				eval(FH.fhdyn.callFhJsp());
				
				
				SOF.fhdyn.header();
				if (d_NavBarInfo.isActive) {SOF.fhdyn.nav(d_NavBarInfo.lienBack,d_NavBarInfo.lienMoins,d_NavBarInfo.lienPlus);};
				
				SOF.fhdyn.resaEngine(d_lienResa,d_rfpCriteria);
				
				SOF.fhdyn.favorites(d_brand,d_isUserLoggedIn);
				SOF.fhdyn.meeting();
				SOF.fhdyn.chooselanguagehref();
				SOF.fhdyn.promoweb();
				SOF.fhdyn.promopackage();
				SOF.fhdyn.thalassa();
				SOF.fhdyn.oas();
		
	},
	
	initMoteur : function(){
			var d_stayDates;
			eval(FH.loadJs("/scripts-v56/geo.jsp"));
			//d_maxStay=5;
			//d_maxPeriod=405;
			FH.$('hotel_ville').value=FH.getPos('rid');
			if (d_stayDates == undefined){return;}
			var dateIn = {'d': Number(d_stayDates.dayIn), 'm': Number(d_stayDates.monthIn), 'y': Number(d_stayDates.yearIn)};
			SOF.dates.update(dateIn, 'start');
			SOF.dates.updateNights(d_stayDates.nbNights);
			
	},
	
	
	initMoteurTha : function(){
			FH.$('lnk_tarif').href = '/selectPax.svlt?isCodeTars=1&hotel_ville='+FH.getPos('rid')+'&marque=sof';
	},
	
		
	resaEngine : function (d_lienResa,d_rfpCriteria){
		var src;
		if (FH.context.isThalassa) {
			src= '/'+this.imgpath+'/fichehotel/sof/bloc_moteur_tha_fh.htm?v='+this.version+'#rid='+this.rid;
		} else if (FH.context.isMeetings || d_rfpCriteria) {
			src= '/'+this.imgpath+'/fichehotel/sof/bloc_moteur_mice_fh.htm?v='+this.version+'#rid='+this.rid+'&brand=sof&lang='+FH.en2gb(this.lang);
			
		} else if (FH.context.isTravelagencies && d_lienResa!="") {
			src= '/'+this.imgpath+'/fichehotel/sof/bloc_moteur_travel_fh.htm?v='+this.version+'#rid='+this.rid+'&brand=sof&lang='+this.imgpath;
		} else if (d_lienResa!="") {
			src= '/'+this.imgpath+'/fichehotel/sof/bloc_moteur_fh.htm?v='+this.version+'#rid='+this.rid;
	  } else  {
			src= '/'+this.imgpath+'/fichehotel/sof/bloc_moteur_empty_fh.htm?v='+this.version+'#rid='+this.rid;
	  }
		var ifres = $('iframe_resa');
		ifres.replace('<iframe id="iframe_resa" frameborder="0" scrolling="no" src="'+src+'"></iframe>');
		
	},
	
	
	
	
	nav : function (link_all,link_prev,link_next,i18n){
			var nav = Box.nodes.get('#ul-nav')[0];
			nav.innerHTML='<li class="list"><a href="'+link_all+'">'+I18N._('fh','List of hotels')+'</a></li>'
          +'<li class="prev"><a href="'+link_prev+'">'+I18N._('fh','Previous hotel')+'</a></li>'
          +'<li class="next"><a href="'+link_next+'">'+I18N._('fh','Next hotel')+'</a></li>';
		
	} ,
	
	favorites : function (brand,idt){
		
		var fav = Box.nodes.get('#lnk_favorites')[0];
  	
  	if (idt){
  		link = '/managePreferredHotels.svlt?action=addHotel&code_hotel='+this.rid+'&code_chaine=sof';
		} else {
  		link = '/'+this.imgpath+'/fichehotel/sof/pop_favoris.html';
		}
  
  	Box.events.add(fav, 'click', function(e) {e.preventDefault();window.open(link,'pop','scrollbars=yes,resizable=yes,width=453,height=360');});
	
  },     

	meeting : function (mice){
		var lm = FH.$("lnk_meeting");
		if (lm==undefined ){return;}
  	
  	if (FH.context.isMeetings) {
  		try{FH.$("p_meeting").remove();}catch(e){};
  	} else if (FH.context.isSofitel) {return;}
  	else {
  		var lg =(this.lang=="fr" ||this.lang=="en"||this.lang=="de"||this.lang=="pt"||this.lang=="it")?FH.en2gb(this.lang):"gb";
  		lm.href='http://meetings.accorhotels.com/'+lg+'/reservation/bookings.shtml#hotel_ou_ville='+this.rid+'&code_chaine=mer';
  	}
  	
	},

  promoweb : function (){
  	if (FH.context.isThalassa || FH.context.isTravelagencies || FH.context.isMeetings ) {
  		var btn_promoweb = FH.$("btn_promoweb");
		  if (btn_promoweb)btn_promoweb.parentNode.removeChild(btn_promoweb);
  	} else {
  		var lnk_promoweb = FH.$("lnk_promoweb");
  		if (lnk_promoweb) Box.events.add(lnk_promoweb, 'click', function(e) {e.preventDefault();pop_v(lnk_promoweb.href,'480px','300px');} );
  	}
  },

	promopackage : function (){
  	if (FH.context.isThalassa || FH.context.isTravelagencies || FH.context.isMeetings ) {
  		try{$('btn_promopackage').remove();}catch(ee){};   
  	} 
  },

	thalassa : function (){
		if (FH.context.isThalassa){
			try{$('btn_thalassa').remove();}catch(ee){};   
			try{$('lnk_offers').remove();}catch(ee){};
	 } 
	
	},



	oas : function(country){
		var oas = $('iframe_oas');
		if(oas==null) {return;}
		var src= '/'+this.imgpath+'/fichehotel/sof/push_oas.htm?lang='+this.imgpath+'&country='+country+'&hotelcode='+this.rid+'&page='+new String(window.top.location.href).slice(7).split('#')[0];
			
			var ifres = $('iframe_oas');
			ifres.replace('<iframe id="iframe_oas" src="'+src+'" frameborder="0" scrolling="no"></iframe>');
	},

	header : function(){
		if (FH.context.isSofitel){return;}	
			Box.nodes.addClass(document.body, "external");
	},


   chooselanguagehref : function (){ 	 
			var cl = Box.nodes.get('#choose-language');
			if (!cl.length) {return;}
			var sub = Box.nodes.get('a',cl); 	 
      for(var i = 0; i<sub.length; i++) { 	 
      	sub[i].search += '&ref='+escape(window.location); 	 
      sub[i].search = sub[i].search.replace(/langue/,'lang');
      } 	 
  	}, 
  	
  	route : function() {
  		FH.$('siteorigine').value = FH.context.getSiteOrigine();
			FH.$("hotelcode").value   = FH.getPos("rid");
  	}

}

// chargement des fonctions
Box.events.load(SOF.fhdyn.init);

// d‚chargement (nettoyage variables)
Box.events.add(window, 'unload', function() {
	SOF.fhdyn = null;
});

