/*################################################################################
	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
################################################################################*/
var ie = (document.all) ? true : false;
var bookingEngine;

/*--------------------------------------------------------------------------------
	setBackgroundImage()
--------------------------------------------------------------------------------*/

function setBackgroundImage() {
	
	var defWidth	 	= 2048;
	var defHeight		= 1536;
	var defRatio		= defWidth / defHeight;
	var hgbCt			= $('backgroundContainer');
	var bgImg			= $('backgroundContainerIMG');
	
	hgbCt.style.width	= "0px";
	hgbCt.style.height	= "0px";
	
	var w				= window.getSize().x;
	var h				= window.getSize().y;
	
	hgbCt.style.width	= w + "px";
	hgbCt.style.height	= h + "px";
	
	var tmpRatio = w / h;
	if(tmpRatio > defRatio) {
		bgImg.set('width', w);
		bgImg.set('height', w/defRatio);
	} else {
		bgImg.set('heigth', h);
		bgImg.set('width', h*defRatio);
	}
	bgImg.style.visibility="visible";
}


/*--------------------------------------------------------------------------------
	resizePage()
--------------------------------------------------------------------------------*/

function centerPage() {
	// var	windowWidth 	= window.getSize().x,
	var windowWidth;
	if (ie) {
		windowWidth = document.body.offsetWidth;
	}
	else
	{
		windowWidth = window.innerWidth;
	}
	
	if(window.ie == true) {
		var pagePosition	= (windowWidth-996)/2;
	} else {
		var pagePosition	= ((windowWidth-8)-996)/2;
	}
		
	$('ki__mainPage').setStyle('left', pagePosition);
}

/*--------------------------------------------------------------------------------
	showSubNavigation
--------------------------------------------------------------------------------*/

function showSubNavigation() {
	$$('.ki__mainNavigation').each(function(naviNode) {
		naviNode.addEvent("click", function() {
			var	parentId 			= 	naviNode.getParent('div').id,
				subPosition		=  	$(parentId).getPosition($('ki__mainContentStart')).x,
				subNaviId			= 	parentId + "Sub",
				listId			=	naviNode.id + "Links";
			
			if ($chk($(listId))) {
				$$('.ki__subNavi').setStyle('display','none');
				$$('.ki__subNaviLists').setStyle('display','none');
				
				$(subNaviId).setStyles( { 
					'left' : subPosition,
					'display' : 'block'
				});
				
				$(listId).setStyles( { 
					'display' : 'block'
				});
			}
		});
	});
}

/*--------------------------------------------------------------------------------
	hideNavigation
--------------------------------------------------------------------------------*/
function hideSubNavigation() {
	$$('.ki__subNavi').each(function(subDiv) {
		subDiv.addEvent('mouseleave', function() {
			$$('.ki__subSubNavi').setStyle('display', 'none');
			$$('.ki__subSub').removeClass('Over');
			subDiv.setStyle('display', 'none');
		});
	});
}

/*--------------------------------------------------------------------------------
	showSubSubNavi
--------------------------------------------------------------------------------*/
function showSubSubNavi() {
	$$('.ki__subSub').each(function(subNaviNode){
		subNaviNode.addEvent('click', function() {
			$$('.ki__subSub').removeClass('Over');
			$$('.ki__subSubNavi').setStyle('display', 'none');
			
			var listId	= subNaviNode.id + "List";
			$(listId).setStyle('display', 'block');
			subNaviNode.addClass('Over');
		});
	});
}

/*--------------------------------------------------------------------------------
	createMask
--------------------------------------------------------------------------------*/
function createMask() {
	
	/*
	if ($type($('ki__pageNavi')) == 'element') {
		var navigationHeight	= $('ki__pageNavi').getSize().y;
	}
	if ($type($('ki__pageContent')) == 'element') {
		var contentHeight		= $('ki__pageContent').getSize().y;
	}
	if ($type($('ki__pageAdditional')) == 'element') {
		var aditionalHeight	= $('ki__pageAdditional').getSize().y;
	}
	if ($type($('ki__naviMask')) == 'element') {
		var maskHeight		= $('ki__naviMask').getSize().y;
	}
	
	if(navigationHeight > contentHeight) {
		$('ki__pageContent').setStyle('height', navigationHeight);
		$('ki__pageAdditional').setStyle('height', navigationHeight);
	} else if (contentHeight > navigationHeight) {
		$('ki__naviMask').innerHTML = "&nbsp;";
		$('ki__naviMask').setStyle('height', contentHeight-navigationHeight);
	}
	*/
	
	if ($chk($('ki__pageNavi')) > 0) {
		var navigationHeight	= $('ki__pageNavi').getSize().y;
	}
	else
	{
		var navigationHeight	= 0;
	}
	
	if ($chk($('ki__pageContent')) > 0) {
		var contentHeight		= $('ki__pageContent').getSize().y;
	}
	else
	{
		var contentHeight		= 0;
	}
	
	// prüfen ob Teaserbox eingebunden ist, Höhe abrufen
	if ($chk($$('div.ki__teaserSideBox')[0]) > 0) {
		aditionalHeight		= $$('div.ki__teaserSideBox')[0].getSize().y;
		// Mindesthöhe für Teaserbox 425px
		if (aditionalHeight < 425) {
			$$('div.ki__teaserSideBox')[0].setStyle('height', 425);
			aditionalHeight = 425;
		}
		
		if(aditionalHeight < contentHeight) {
			$$('div.ki__teaserSideBox')[0].setStyle('height', contentHeight+25);
			$('ki__naviMask').setStyle('height', contentHeight-345);
			$('ki__mainContentStart').setStyle('height', 560+contentHeight-345);
		} else {
			$('ki__pageContent').setStyle('height', aditionalHeight-25);
			$('ki__naviMask').setStyle('height', aditionalHeight-370);
			$('ki__mainContentStart').setStyle('height', 190+aditionalHeight);
		}
	}
	else
	{
		aditionalHeight = 0;
		if (contentHeight > navigationHeight) {
			$('ki__naviMask').setStyle('height', contentHeight-345);
			//$('ki__naviMask').innerHTML = "&nbsp;";
		} 
		else if (navigationHeight > contentHeight) {
			var ki__mainContentStartHeight		= $('ki__mainContentStart').getSize().y;
			$('ki__naviMask').setStyle('height', 0);
			$('ki__mainContentStart').setStyle('height', 560);
			$('ki__pageContent').setStyle('height', navigationHeight);
		}
	}
		
	
}

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	Call to Functions
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

if (!ie) {
	document.addEvent("domready", function() {
		centerPage();
	});
}
else
{
	/*@cc_on @*/
	/*@if ((@_win32) || (@_win64))
	    document.write('<script id=__ie_onload defer src="dummy.html"><\/script>');
	    var script = document.getElementById("__ie_onload");
	    script.onreadystatechange = function() {
	        if ((this.readyState == "loaded") || (this.readyState == "complete"))  {
	            centerPage(); // call the onload handler
	        }
	    };
	/*@end @*/
}

window.addEvent("load", function() {
	setBackgroundImage();
	showSubNavigation();
	hideSubNavigation();
	showSubSubNavi();
	createMask();
	
});

window.addEvent("resize", function() {
	centerPage();
	setBackgroundImage();
});

/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Custom Stuff
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

function toggleElement(objID) {
	var el = $(objID);
	if (el) {
		if ( el.style.display != 'none' ) {
			el.style.display = 'none';
		}
		else {
			el.style.display = '';
		}
	}
}

function toggleClass(objClass){
  if (getElementByClass(objClass).style.display=="none"){
	  showElementsByClassId(objClass);
  }else{
	  hideElementsByClassId(objClass);
  }
}

function hideElementsByClassId(objClass){
	var elements = (ie) ? document.all : document.getElementsByTagName('*');
	for (i=0; i<elements.length; i++){
	    if (elements[i].className == objClass){
	    	elements[i].style.display="none";
	    }
	}
}

function showElementsByClassId(objClass){
var elements = (ie) ? document.all : document.getElementsByTagName('*');
	for (i=0; i<elements.length; i++){
		if (elements[i].className == objClass){
			elements[i].style.display="block";
		}
	}
}

function getElementByClass(objClass){
	var elements = (ie) ? document.all : document.getElementsByTagName('*');
	for (i=0; i<elements.length; i++){
	    if (elements[i].className == objClass){
	    	return elements[i];
	    }
	}
}

/*################################################################################
Show Flash Element
################################################################################*/
function embedFlashElement(path, width, height, language, configfile, imagefolderpath) {
    var swfObj = new Swiff ('/flash/' + path, {
	    id: 'navigation',
	    width: width,
	    height: height,
	    container: 'flash_movie',

	    
	    
	    vars: {
		 	'lang': language,
		 	'config_xml': configfile,
		 	'path_imagefolder': imagefolderpath
	    }
	});
}

function displaySWFElement(path, width, height, language, configfile, imagefolderpath) {
	if (width == '') {
		width = 840;
	}
	if (height == '') {
		height = 505;
	}
	whiteBackground();
	$('ki__serviceNavi').style.display = 'none';
	$('ki__pageContent').style.display = 'none';
	$('gallery_close').style.display = 'block';
	$('flash_movie_container').style.display = 'block';
	embedFlashElement(path, width, height, language, configfile, imagefolderpath);
}

function whiteBackground() {
	$('ki__maskingContent').style.backgroundColor = '#FFF';
}

function closeGallery() {
	$('ki__serviceNavi').style.display = 'block';
	$('ki__pageContent').style.display = 'block';
	$('ki__maskingContent').style.backgroundColor = '';
	$('ki__serviceNavi').style.display = 'block';
	$('gallery_close').style.display = 'none';
	$('gallery_image_container').style.display = 'none';
	$('flash_movie_container').style.display = 'none';
	showElementsByClassId('ki__teaserSideBox');
}

/*################################################################################
	CMS Alert
################################################################################*/

function cmsAlert(title, content, close, msgtype){
	Alert({
		title: title,
		content: '<p>'+content+'</p>',
	    type: msgtype
	});
}

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

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

function setBeIframe(orderId,price) {
	var container = $('beIframeContainer');
	
	container.empty();
	
	var frame = new Element('iframe',{
		src: source,
		width: 1,
		height: 1,
		frameborder: 0
	});
	
	frame.inject(container);
}

function removeBeIframe() {
	$('beIframeContainer').empty();
}

function showBookingEngine(){
	var window_dimensions = window.getScrollSize();
	var be_background     = $('close');
	var be_content        = $('bookingEngineCont');
	var be_container	  = $('beContainer');
	var be_iframe		  = $('beBookingEngineIframe');
	var be_content_dim    = [1000,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';
	
	be_iframe.setStyles({
		width: be_content_dim[0],
		height: be_content_dim[1]
	}); 
	
	window.scrollTo(0,0);

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

	var uri = BOOKING_ENGINE_URI;
	
	be_iframe.empty();
	be_iframe.set("src",uri);
	$('close').setStyle('display','block');
}


