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

NOV.gallery = {
	
	openGallery : function(){
		NOV.flashLayer.init();
	},
	
	openIpix : function() {
		NOV.flashLayer.init("ipix");
	
	},
	
	openFavorite : function(){
		if (FH.context.webapp == 'novotel')
			NOV.flashLayer.init("favorite");
		else
			window.open($('lnk_favorites').href, 'pop', 'scrollbars=yes,resizable=yes,width=580,height=600');
		
	},
	
	close : function() {
		try {parent.NOV.flashLayer.close();} catch(ee){window.close();}
	},
	
	display : function(){
		
		var so = new SWFObject("/flash/fichehotel/galerie_nov.swf","gallery", "100%", "100%", "8", "");
				// sans vmode car marche pas sous IE6
				//so.addParam("wmode", "opaque");
				so.addVariable("URL_XMLlang",	"/fichehotel/i18n/nov_texte_"+FH.en2gb(FH.getLang())+".xml"); // fichier de langue  ?ivrer par F6
				so.addVariable("URL_XMLhotel", "/fichehotel/xml/"); // emplacement fichier hotel g?r?ar le moteur
				so.addVariable("URL_PIC", "/photos/"); //emplacement des images hotel
				so.addVariable("URL_VID", document.location.protocol+"//"+document.location.host.replace('www','media')+"/video/"	); //emplacement des videos hotel
				so.addVariable("rid", FH.getRid()); // code hotel
				so.addVariable("lang", FH.getLang()); //langue (fr, en, de)
				so.write("flash-container-gallery");
	}
}

NOV.flashLayer = {
	
	init: function (type){
		layerManager = this;
		if(!$('galleryLayer')){
			var div = document.createElement("div");
			div.id = "galleryLayer";
		} 
		else {
			var div = $('galleryLayer');
		}
		layerManager.layer = div;
		layerManager.layer.style.height = document.body.scrollHeight+"px";
	
		if(type=="favorite"){
			var fav = $('lnk_favorites');
			where = fav.href; // la construction du lien selon si l'utilisateur est identifié ou pas est gérée dans main_nov.js
			c_height = "600";
			c_width = "580";
		}
		else if(type=="ipix"){
			where = (document.location.pathname.match(/^\/[a-z]{2}\/hotel\-\d{4}.*/))?"./virtual.shtml":"./pop_visites.shtml";
			c_height = "585";
			c_width = "560";
		}
		else{
			where = (document.location.pathname.match(/^\/[a-z]{2}\/hotel\-\d{4}.*/))?"./gallery.shtml":"./galerie_flash.shtml";
			c_height = "530";
			c_width = "619";
		}
			
			layerManager.layer.innerHTML = "";
			var container = document.createElement('div');
			container.id = "ipixContainer";
			
			layerManager.layer.appendChild(container);
			document.body.appendChild(layerManager.layer);
			container.innerHTML = '<iframe id="ipixFrame" src="'+where+'" width="'+c_width+'" height="'+c_height+'" scrolling="no" frameborder="0" border="0"></iframe>';
			
			layerManager.layer.style.display = "none";
			this.open();
	},
	
	open : function (){
		layerManager.layer.style.display = "block";
		NOV.ifrlayer.make(layerManager.layer);
		},
	
	close : function (){
		layerManager.layer.style.display = "none";
		NOV.ifrlayer.hide(layerManager.layer);
		if($('ipixFrame')) $('ipixFrame').remove();
	}
}

function CloseGallery(){
	NOV.gallery.close();
}

function openvisit(){
	NOV.gallery.openIpix();
}

var formControl = {

	cityInput : null,
	cityInputValue : null,
	bEngine : null,

	init : function() {
		formControl.bEngine = $('bookingEngine');
		if ($('hotel_ou_ville') || $('hotel_ville')) formControl.initMotorFH();
/* 		NOV.offers.init(); */
	},
	initMotorFH : function() {
		formControl.cityInput = $('hotel_ou_ville');
		if($('hotel_ou_ville').readAttribute('type') == 'hidden'){
			formControl.cityInputValue = '';
		}
		else{
			formControl.cityInputValue = $('hotel_ou_ville').value;
		}
		
		formControl.inputValue(formControl.cityInput);
		Event.observe(document, "keypress",  function(event) { 
		if    (event.keyCode==13) {	formControl.checkFHMotors();};
    });
		Event.observe($('submitter'), 'click', function(){formControl.checkFHMotors();});
	},
	checkFHMotors : function() {
    formControl.bEngine.submit();
		var isValid = false;
		var errBox = $('errorMessage');
		if (!formControl.cityInput && !$('hotel_ville')) return;
		if (formControl.cityInput){
			formControl.dest = formControl.cityInput.value;
			
			switch(formControl.cityInput.value) {
				case "":
				case null:
				case formControl.cityInputValue:
					
					formControl.cityInput.value = "";
					break;
				default:
					isValid = true;
					break;
			}
		}
		else if ($('hotel_ville')){
			if ((codeHotel = formControl.getPos('rid')) != ""){
				formControl.dest = $('hotel_ville').value;
				$('hotel_ville').value=codeHotel;
				isValid = true;
			}
		}
		if (isValid) formControl.bEngine.submit();
	},
	inputValue : function(elm) {
		elm.oldValue=elm.value;
		elm.onfocus=function() {
			if (!this.isChecking && this.value==this.oldValue) this.value='';			
		}
		elm.onblur=function() {
			if(this.value=='') this.value=this.oldValue;
		}
	}
}
Event.observe(window, 'load', function(){
	formControl.init();
	if($('lnk_favorites')){
        new PeriodicalExecuter(function(){
            if($('lnk_favorites').href != 'javascript:;'){
                $('lnk_favorites').observe('click', function(event){Event.stop(event); NOV.gallery.openFavorite();});
                return;
            }
        }, .5); 
       }
	if($$('.closePop')[0])
		$$('.closePop')[0].observe('click', function(event){Event.stop(event); NOV.gallery.close();});
		
	$$('.clickZoom').each(function(item) {
		Event.observe(item, 'click', function(e){
			Event.stop(e);
			NOV.gallery.openGallery();
		});
	});
	
});