/*################################################################################
	D E B U G
################################################################################*/

var debugModus = 0; // Debugmodus EIN = 1 || AUS = 0

function debug(txt)
{
	if(!debugModus || typeof(console) != "object") { return; }
	else { console.log(txt); }
}
debug("debugModus = true");


/*################################################################################
	$$$
################################################################################*/

// get Elements by Name

function $$$(obj)
{
	var obj = document.getElementsByName(obj);
	obj = (obj.length==1)?obj[0]:obj;
	return obj;
}


/*################################################################################
	F U N C T I O N S
################################################################################*/

/*################################################################################
	setBackgroundImage()
################################################################################*/

function setBackgroundImage()
{
	var defWidth	 	= 2048;
	var defHeight		= 1536;
	var defRatio		= defWidth / defHeight;
	var hgbCt			= $('bgContainer');
	//hgbCt.style.overflow = "hidden";
	var img			= $('bgContainerIMG');
	//img.style.visibility = "hidden";
	hgbCt.style.width	= "0px";
	hgbCt.style.height	= "0px";
	
	var w				= window.getScrollSize().x;
	var h				= window.getScrollSize().y;
	
	hgbCt.style.width	= w + "px";
	hgbCt.style.height	= h + "px";
	
	var tmpRatio = w / h;
	if(tmpRatio > defRatio) {
		img.style.width		= w + "px";
		img.style.height	= w/defRatio + "px";
	} else {
		img.style.height	= h + "px";
		img.style.width	= h*defRatio + "px";
	}
	
	img.style.visibility = "visible";
	
	//img.setOpacity(0.01);
	//img.set( { morph: { duration:500 } } );
	//img.morph( { opacity:1 } );
	
}

window.addEvent("resize",setBackgroundImage);
window.addEvent("load",setBackgroundImage);


/*################################################################################
	Container Position
################################################################################*/
/*
function positionContainer() {
	var container	= $('mainContainer');
	var w				= window.getSize().x;
	var h				= window.getSize().y;

	var deltaX		= Math.floor(w-997)/2;
	var deltaY		= Math.floor(h-595)/3;
	
	
	if(deltaY>=0) {
		container.style.top	= deltaY+'px';
	} else {
		container.style.top	= 0+'px';
	}
	
	if(deltaX>=0) {
		container.style.left	= deltaX+'px';
	} else {
		container.style.left	= 0+'px';
	}
	
	container.style.visibility	= "visible";
	
}
*/
//window.addEvent("resize",positionContainer);
//window.addEvent("load",positionContainer);


/*################################################################################
	Transparenz Navigation-BG
################################################################################*/

function setNaviOpacity() {
	var naviStart	= $('navigationStart');
	var navi	= $('navigation');
	var links	= $$('.naviNode , .naviNode');
	var w		= 152;
	var h		= 24;
	
	var container	= $('mainContainer');
	
	//Navigation Startseite
	if(naviStart) {
		for(i=0;i<links.length;i++) {
		var NaviBg	= document.createElement("div");
		var NaviPosition	= links[i].getPosition();
			NaviBg.style.position			= 'absolute';
			NaviBg.style.display			= 'block';
			NaviBg.style.backgroundColor		= (hotelID == "beatus") ? '#001c52' : '#4e3435';
			NaviBg.style.width				= w+"px";
			NaviBg.style.height				= h+"px";
			NaviBg.style.top				= NaviPosition.y+7+"px";
			NaviBg.style.left				= 353+"px";
			NaviBg.style.zIndex				= 2;
			NaviBg.id						= 'NaviBg'+[i];
			$(NaviBg).setOpacity(0.6);
			container.appendChild(NaviBg);
		}
	}
	//Navigation Innenseiten
	if(navi) {
		for(i=0;i<links.length;i++) {
		var NaviBg	= document.createElement("div");
		var NaviPosition	= links[i].getPosition();
			NaviBg.style.position			= 'absolute';
			NaviBg.style.display			= 'block';
			NaviBg.style.backgroundColor		= (hotelID == "beatus") ? '#001c52' : '#4e3435';
			NaviBg.style.width				= w+"px";
			NaviBg.style.height				= h+"px";
			NaviBg.style.top				= NaviPosition.y+7+"px";
			NaviBg.style.left				= 25+"px";
			NaviBg.style.zIndex				= 2;
			NaviBg.id						= 'NaviBg'+[i];
			$(NaviBg).setOpacity(0.6);
			container.appendChild(NaviBg);
			
		}
	}
	
	//positionContainer();
	
}

window.addEvent("load",setNaviOpacity);

/*################################################################################
	openDIV()
################################################################################*/

//Subnavigation oeffnen
//Funktion BG Navi neu aufrufen
function openDIV(obj,id) {	
	
	var cd		= $(id);
	var cs		= $$('.subnavigation');
	
	entfernenDIV();
	
	if(cd.style.display=='block') {
		cd.style.display	= "none";
		setNaviOpacity();
		
	} else {
		for(i=0;i<cs.length;i++) {
			cs[i].style.display	= "none";
		}
		cd.style.display	= "block";
		
		setNaviOpacity();
	}
}

//Transparenter BG Subsubnavi entfernen
function entfernenDIV() {
	
	var links	= $$('.naviNode');
	var container	= $('mainContainer');
	if($('NaviBg0')) {
			
		for(i=0;i<links.length;i++) {		
			var dv	= document.getElementById('NaviBg'+[i]);
			container.removeChild(dv);
		}
	}
}

/*################################################################################
	activateSubSubNavi()
################################################################################*/

//Subsubnavigation oeffnen, transparenter BG setzen
function activateSubSubNavi(obj,el,mainID) {
	
	var nullpunkt = (activateSubSubNavi.arguments[3]) ? activateSubSubNavi.arguments[3] : 0;
	var main	= $(mainID);
	var container	= $('mainContainer');
	var abstand	= 141;
	
	obj.onmouseout = function() { 
		//$(el).style.display='none';
		if($('subSubNaviBg')) {
			container.removeChild($('subSubNaviBg'));
		}
		
		main.getElementsByTagName("a")[0].className	= "subNaviNode";
		
	}
	obj.onmouseover = function() { 		
		var NaviBg	= document.createElement("div");
		var NaviPosition	= main.getPosition();
		
		//$(el).style.visibility	= 'hidden';
		//$(el).style.display='block';
		
		//var messure			= $(el).getSize();
		var messure			= {y:0};
		//$(el).style.top		= NaviPosition.y-141-nullpunkt+"px";
		
		//$(el).style.visibility	= "visible";
		
		NaviBg.style.position			= 'absolute';
		NaviBg.style.display			= 'block';
		NaviBg.style.backgroundColor		= '#f5f8fd';  //#fff
		NaviBg.style.width				= 152+"px";
		NaviBg.style.height				= messure.y+"px";
		NaviBg.style.top				= NaviPosition.y-nullpunkt+"px";
		NaviBg.style.left				= 189+"px";
		NaviBg.style.zIndex				= 2;
		NaviBg.id						= 'subSubNaviBg';
		$(NaviBg).setOpacity(0.6);
		container.appendChild(NaviBg);
		
		main.getElementsByTagName("a")[0].className	= "subNaviNodeActive";
		
	}
	
	obj.onmouseover();
}


/*################################################################################
	setSubSubNaviPosition()
################################################################################*/
/*
function setSubSubNaviPosition()
{
	if($$('.subsubnavigation').length > 0)
	{
		var ssNavi		= $$('.subsubnavigation')[0];
		var navi		= $('navigation').offsetTop;
		var abstand		= 9;
		var boxMain		= $$('.mainContentBoxMood')[0].offsetHeight;
		var boxSub		= ($$('.contentBox').length > 0) ? ($$('.contentBox')[0].offsetHeight + abstand) : 0;
		ssNavi.style.top = (boxMain + boxSub + abstand - navi) + "px";
		ssNavi.style.display = "block";
	}
}

window.addEvent("load",setSubSubNaviPosition);
*/
/*################################################################################
	displaySubNavigation()
################################################################################*/

var transparentSubNaviNode = null;
function displaySubNavigation(bt)
{
	if(bt.tagName === "A" && bt.getNext().hasClass("subnavigation"))
	{
		bt.subNavi = bt.getNext();
		bt.subNavi.style.top = bt.offsetTop + 7 + "px";
		bt.displaySubNavi = function(el,show) { el.style.display = (show) ? "block" : "none"; }
		bt.onmouseover = function()
		{
			this.displaySubNavi(this.subNavi,true);
		}
		bt.onmouseout = function()
		{
			this.displaySubNavi(this.subNavi,false);
		}
		bt.subNavi.onmouseover = function() { bt.displaySubNavi(this,true); }
		bt.subNavi.onmouseout =  function() { bt.displaySubNavi(this,false); }
	}
}

function initNaviNodes()
{
	$$('.naviNode').each(function(el){
		displaySubNavigation(el);
	});
}

window.addEvent("load",initNaviNodes);


/*################################################################################
	Search: searchInput()
################################################################################*/

function searchInput(inp) {
	
	inp.aktValue	= inp.value;
	
	inp.onblur	= function() { if(this.value.length < 3 || this.value == '') this.value = this.aktValue; this.onkeyup();}
	inp.onfocus	= function() { this.value = ''; }
	inp.onfocus();
}

function searchResult(inp) {
	
	$('searchResult').setOpacity(0);	
	$('searchResult').style.display = (inp.value == inp.aktValue || inp.value.length < 3) ? "none" : "block";
	
	$('searchResult').set({morph:{duration: 700}});
	$('searchResult').morph({opacity: 1});
	
}

/*################################################################################
	Startseite: showStartBox()
################################################################################*/
var hideitTimeout;
var openItem;
function hideit(){
}
//Quickboxen anzeigen
function showStartBox(obj,el, navi) {
	if(openItem==$(el)){
		window.clearTimeout(hideitTimeout);
	}
	var naviid=navi;
	var navi	= $(navi);
	var cnt=0;
	
	$('searchResult').style.display	= "none";
	$(el).style.display='block';
	openItem=$(el);
	navi.className	= (hotelID == "beatus") ? 'naviNodeStartActive' : 'naviNodeStartActive';
}


function remStartBox(obj, el, navi) {
	var naviid=navi;
	var navi	= $(navi);
	var cnt=0;

	hideit=function(){
		$(el).style.display = 'none';
		navi.className	= "naviNode";	
	}
	hideitTimeout=window.setTimeout(hideit,1);
}



/*################################################################################
	Zimmerbilder
################################################################################*/

function setPixPosition(nr,obj) {
	var container	= $(obj);
	
	var w			= window.getSize().x;
	var h			= window.getSize().y;
	
	var newX		= (w-476)/2;
	var newY		= (h-317)/3;
	
	container.style.top		= newY + "px";
	container.style.left	= newX + "px";
	
	openPix(nr,obj);
}


function openPix(nr,obj) {
	var container	= $(obj);
	var pix			= $('galerieBild'); //container.getElementsByTagName('img')[0];
	var pfad		= "/pix/beatus/page/hotel/zimmer/niesen/";
	var bild		= nr+".jpg";
	
	pix.src	= pfad + bild;
	
	if(container.style.display	!= 'block') {
		initBlackBox();
	}
	
	pix.setOpacity(0);
	
	container.style.display	= 'block';
	
	
	pix.set({morph:{duration: 700}});
	pix.morph({opacity: 1});
}

function closePix() {
	var container	= $('pix'); 
	var pix			= $('galerieBild');
	var bb 			= $('blackBox');
	
	pix.set({morph:{duration: 700,onComplete:function() {container.style.display	= "none";}}});
	pix.morph({opacity: 0});
	
	bb.set({morph:{duration: 700,onComplete:function() {bb.style.display	= "none";}}});
	bb.morph({opacity: 0});
	
	
	
}


//Abdunklung fuer Galerie aktivieren
function initBlackBox() {
	var bb = $('blackBox');
	var container	= $('pix');
	
	var w				= window.getSize().x;
	var h				= window.getSize().y;
	
	bb.style.width	= w+"px";
	bb.style.height	= h+"px";
	
	bb.setOpacity(0);
	
	bb.set({morph:{duration: 700}});
	bb.morph({opacity: 0.7});
	
	bb.style.display	= "block";

}

/*================================================================================
Booking Engine
================================================================================*/
function closeBE(){
	$('close').setStyle('display','none');		
}

function stopClosing(e) {
	e.stopPropagation();
}

function showBookingEngine(path,parameters){
	var window_dimensions = window.getScrollSize();
	var be_background     = $('close');
	var be_content        = $('bookingEngineCont');
	var be_container	  = $('beContainer');
	var be_content_dim    = [965,720];
	
	be_background.style.height 	= window_dimensions.y+'px';
	be_content.style.width     	= be_content_dim[0]+'px';
	be_content.style.height    	= be_content_dim[1]+'px';
	be_content.style.left = ((window_dimensions.x-be_content_dim[0])/2)+'px'; 
	
	be_container.style.width     	= be_content_dim[0]+'px';
	be_container.style.height    	= be_content_dim[1]+'px';
	be_container.style.left = ((window_dimensions.x-be_content_dim[0])/2)+'px'; 
	
	window.scrollTo(0,0);
	/*
	var swfObj = new Swiff ('/reservation/Bookingengine.swf', {
	    id: 'bookingengine',
	    params: {wMode:'opaque' },
	    //width: '100%' , 
	    //height: '100%',
	    width: be_content.style.width,
	    height: be_content.style.height,
	    container: 'bookingEngineCont',
	   
	    vars: {
		 	url: path,
	        language: parameters.language,
		 	hotelId: parameters.hotel_id,
	        productId: parameters.product_id,
	        roomId: parameters.room_id,
	        packageCategoryId: parameters.package_category_id,
	        packageId: parameters.package_id,
	        individualOfferCategoryId: parameters.ioffer_category_id,
	        individualOfferId: parameters.ioffer_id
	    }
	}); */
	
	var flashvars = {
			url: path,
	        language: parameters.language,
		 	hotelId: parameters.hotel_id,
	        productId: parameters.product_id,
	        roomId: parameters.room_id,
	        packageCategoryId: parameters.package_category_id,
	        packageId: parameters.package_id,
	        individualOfferCategoryId: parameters.ioffer_category_id,
	        individualOfferId: parameters.ioffer_id
    };
    var params = {
                    menu: "false",
                    scale: "noScale",
                    allowFullscreen: "true",
                    allowScriptAccess: "always",
                    bgcolor: "#FFFFFF"
    };
    var attributes = {
                    id:'bookingengine'
    };
    swfobject.embedSWF("/reservation/Bookingengine.swf", "bookingEngineInline", "100%", "100%", "9.0.0", "/flash/expressInstall.swf", flashvars, params, attributes);


	if($('bookingEngineCont').addEventListener){
		$('bookingEngineCont').addEventListener('click', stopClosing, false );	
	} else {
		$('bookingEngineCont').attachEvent('onclick', stopClosing);	
	}
	
	$('close').setStyle('display','block');
}









