if(!MER) {var MER = {};};
if(!MER.fh) {MER.fh = {};};

MER.fh.display = (function(){
    
	function _histo () {
		//recuperation/stockage
		
		if(!jQuery.cookie("histo"));
		var c = jQuery.cookie("histo");
		c= (!c)?[]:c=c.split("|");
		var h = FH.rid+":"+FH.name;
		for (var i=0;i<c.length;i++){
			if (c[i].split(":")[0]==FH.rid){h='';}
		}
		if (h!=''){c.unshift(h);}	
		c = c.slice(0,5);//ongarde les 5 derniers
		jQuery.cookie("histo",c.join("|"),{ expires: 7, path: '/', domain: 'mercure.com', secure: false });
		
		//ecriture		
		var inn ='<ul>';
		for (var i=0;i<c.length;i++){
			var cs = c[i].split(":");
			inn+= '<li> - <a href="/frm_fiche_hotel.svlt?code_langue='+FH.imgpath+'&code_hotel='+cs[0]+'">'+cs[1]+'</a></li>';
		}
		inn+='</ul>';
		
		jQuery("#bloc-historique h2").after(inn).show();
	};
    
    function _mycarousel_initCallback(carousel) {   
        carousel.list.find('img').click(function(){
            var that = $(this);
            carousel.list.find('li span').remove();
            
            var h = that.height() -6;
            var w = that.width() - 6;
            
            that.parent().append('<span style="height:'+h+'px; width:'+w+'px;"></span>')
            var src = that.attr('rel');
            _mycarousel_changePicture(src);
        });
    };
    
    function _mycarousel_changePicture(url){
        var pict = jQuery('#gallery .pictGallery img');
        pict.fadeOut(500,function(){
            objImage = new Image();
            objImage.onload = function(){
                pict.attr('src',url);
                pict.fadeIn();
            }
            objImage.src=url;
        });
    }
    
    function _carousel(){
        if(jQuery("#mycarousel").length == 0) return;
        var pn = (jQuery("#mycarousel li").size() > 3)?'<div></div>':null;
        jQuery("#mycarousel").jcarousel({
                vertical: true,
                scroll: 1,
                buttonNextHTML :pn,
                buttonPrevHTML :pn,
                initCallback: _mycarousel_initCallback
        });
    };
            
    function _tooltip (){
        if(jQuery('.tooltip').length == 0) return;
        /* CONFIG */
            xOffset = -20;
            yOffset = 8;
        jQuery("li.picto, li.tip").hover(function(e){  
            jQuery("body").append("<span class='tooltips'>"+jQuery(this).find('.tooltip').html()+"</span>");                                 
            jQuery(".tooltips")
                .css("top",(e.pageY - xOffset) + "px")
                .css("left",(e.pageX + yOffset) + "px")
                .fadeIn("fast");                        
        },
        function(){     
            jQuery(".tooltips").remove();
        }); 
        jQuery(".picto").mousemove(function(e){
            jQuery(".tooltips")
                .css("top",(e.pageY - xOffset) + "px")
                .css("left",(e.pageX + yOffset) + "px");
        });
    };
    
    function _promotip (){
        jQuery('span.picto').hover(
            function(){jQuery(this).find('.tip:hidden').show();},
            function(){jQuery(this).find('.tip:visible').hide();}
        );
    };
    
    //Manage all toggles in #corePage
    function _toggles() {
        
        function _checkStateToggleAll(){
            //init toggleAll if all toggle are closed or open
            var nbToggle = jQuery('#corePage .toggle').size();
            if( nbToggle == jQuery('#corePage .toggle.closed').size()) {
                jQuery('.toggleAll').removeClass('toggleAllOpen').addClass('toggleAllClosed');
            }
            if( nbToggle == jQuery('#corePage .toggle.open').size()) {
                jQuery('.toggleAll').removeClass('toggleAllClosed').addClass('toggleAllOpen');
            }
        }
        
        jQuery('.toggle').click(function(){
                var that = $(this);
                if (that.hasClass('closed')) {
                    that.addClass('open').removeClass('closed');
                    that.next().slideDown('slow',function(){
                        _checkStateToggleAll();
                    }).addClass('toggleOpen').removeClass('toggleClosed');
                } else {
                    that.addClass('closed').removeClass('open');
                    that.next().slideUp('slow',function(){
                        _checkStateToggleAll();
                    }).addClass('toggleClosed').removeClass('toggleOpen');
                }
            }
        );
        
        jQuery('.toggleAll').click(function(e){
            e.preventDefault();
            var that = $(this);
            if (that.hasClass('toggleAllClosed')) {
                that.addClass('toggleAllOpen').removeClass('toggleAllClosed');
                that.parent().find('.section > .toggle.closed').click();
            } else {
                that.addClass('toggleAllClosed').removeClass('toggleAllOpen');
                that.parent().find('.section > .toggle.open').click();
            }
        });
        
        jQuery('.toggleTable').toggle(
            function(){
                var that = $(this);
                that.addClass('open').removeClass('closed');
                that.parent().parent().next().addClass('open').removeClass('closed');
            },function(){
                var that = $(this);
                that.addClass('closed').removeClass('open');
                that.parent().parent().next().addClass('closed').removeClass('open');
            }
        );
    }
    
    function _print(){ 
        if(jQuery("#print").length == 0) return;
        jQuery ("#print").click(function(){
            window.print();
            return false;
        });
     };
     
			 
     function _advertPopin(){
         if(jQuery('.popin-advertChange').size()==1){
            jQuery('.popin-advertChange a').click(function(){
                jQuery('.ui-dialog-titlebar-close').click();
            });
         }
     }
     
     function _advertLabels(){
         jQuery('.labelsPopin .labelsContent').jScrollPane();
     }
     
     //bindAjaxPopin
     jQuery(document.body).bind("dialogloaded",function(){
		  _advertPopin();
		  _advertLabels();
		});
    
    
    function _parse(_url) {
			/\-(\d{4})\-/.exec(_url);
			return RegExp.$1;
	  };
    
    function _mapo(){
  	  try{FH.mapo.init_map('#lnkMap',FH.rid,'#body');}catch(ee){};
  	  try{FH.mapo.init_map('#lnk_map',FH.rid,'#body');}catch(ee){};
  	  
  	  var rids=FH.rid;
  	  jQuery("#nearHotels li a").each(function(h){rids =rids+','+_parse(jQuery(this).attr('href'));});
		  try{FH.mapo.init_map('#lnk_locate',rids,'#body');}catch(ee){};
  	
		$('div.address img').click(function(e){
			$('a#lnkMap').click();
		});
  	};
    
    function _scroll () {
  		var el = (jQuery.browser.msie || jQuery.browser.mozilla)?"html":"body";
  		jQuery(el).scrollTop(jQuery.cookie("scroll"));
  		jQuery.cookie("scroll",null);
  		jQuery(".lnk1, .lnk2, .lnk3").click(function(){jQuery.cookie("scroll",jQuery(el).scrollTop());}) 
	  };
    
    return {
      init: function(){
        _scroll();
        _carousel();
        _toggles();
        _tooltip();
        _promotip();
        _print();
        _mapo();
        _histo();
      }
    }
	
})();

FH.display.init(MER);
