/*################################################################################
	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
################################################################################*/



/*################################################################################
	init_ddBox()
################################################################################*/

function init_ddBox()
{
	var boxes = $$('.ddBox');
	boxes.each(function(el)
	{
		var childs = el.getChildren();
		var title = childs[0];
		var content = childs[1];
		
		title.content = content;
			
		title.onclick = function()
		{
			close_ddBoxes();
			if(this.content.style.display == "block")
			{
				this.content.style.display = "none";
				this.style.backgroundImage = "url(/pix/main/open.gif)";
			} else {
				this.content.style.display = "block";
				this.style.backgroundImage = "url(/pix/main/close.gif)";
				title.onclick = function() {
					close_ddBoxes();
				}
			}
		}
		title.onmouseover	= function() { this.style.backgroundColor = ""; }
		title.onmouseout	= function() { this.style.backgroundColor = ""; }
	});
}
window.addEvent("load",function(){ init_ddBox(); });

/*################################################################################
close_ddBoxes()
################################################################################*/

function close_ddBoxes() {
	var boxes = $$('.ddBox');
	boxes.each(function(el)
	{
		var childs = el.getChildren();
		var title = childs[0];
		var content = childs[1];

		content.style.display = "none";
		title.style.backgroundImage = "url(/pix/main/open.gif)";
		
		init_ddBox();
	});
}


/*################################################################################
	checkLen()
################################################################################*/

function checkLen(id,counter) {
	if($(id)){
		if($(id).innerHTML.length > counter) {
			$(id).innerHTML=$(id).innerHTML.substring(0,counter);
		}
	}
	if($(id+'Counter')){
		var currentCount = counter - $(id).value.length;
		$(id+'Counter').innerHTML = currentCount;
	}
}

/*################################################################################
	ShowDiv()
################################################################################*/

function ShowDiv() {
	if($("Res")!=null){
		$("Res").style.display='block';
	}
}

function HideDiv() {
	if($("Res")!=null){
		$("Res").style.display='none';
	}
}

function ShowShop() {
	if($("shopDIV")!=null){
		$("shopDIV").style.display='block';
	}
}

function HideShop() {
	if($("shopDIV")!=null){
		$("shopDIV").style.display='none';
	}
}

/*================================================================================
	onSubmitError()
================================================================================*/
validator.onSubmitError = function(els){
	var str = '<b>'+submiterror__message+'</b><br />';
	$each(els, function(el){
		str += '- '+el.title || el.label.innerHTML.stripTags();
		str += '<br />';
	})
	str += '<a style="display:block; text-align:right" href="javascript:overlay.hide();">'+submiterror__close+'</a>';
	Alert({title:submiterror__title,content:str});
	overlay.opt.onclose = function(){
		els[0].focus()
	}
}

/*================================================================================
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/Bookingengine2.swf', {
	    id: 'bookingengine',
	    //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
	    }
	});

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

function showNavi() {
	$$('.naviTrigger').each(function(naviTrigger){
		naviTrigger.addEvent('mouseenter', function() {
			$$('.naviTrigger').removeClass('Over');
			naviTrigger.addClass('Over');
			naviTarget = null;
			if($$('.rr__subnavi')){
				$$('.rr__subnavi').setStyle('display','none');
				
				naviTarget 	= 	naviTrigger.id+"DIV",
				xPos			=	naviTrigger.getPosition($('rr__naviContainer')).x+215,
				yPos			=	naviTrigger.getPosition($('rr__naviContainer')).y-255;
			}	
			if(naviTarget != null && $(naviTarget)){ 	
				$(naviTarget).setStyles({
					'left'	: xPos,
					'top'	: yPos,
					'display' : 'block'
				});
				
				$(naviTarget).addEvent('mouseenter', function(){
					$(naviTarget).setStyle('display','block')
				});
				
				$(naviTarget).addEvent('mouseleave', function(){
					$(naviTarget).setStyle('display','none');
					naviTrigger.removeClass('Over');
				});
			}
		});
		
		naviTrigger.addEvent('mouseout', function(){
			if($(naviTarget))
				$(naviTarget).setStyle('display','none');
		});
	});
	
	$$('.jsRemover').each(function(remover){
		remover.addEvent('mouseover', function() {
			$$('.naviTrigger').removeClass('Over');	
		});
	});
}

function showPanorama() {
	$('panoramaOverlay').set('opacity', 0.8)
	
	var vr360URIpanoID = gupURI($('Btn360View').href, 'panoID');
	var vr360URIlang = gupURI($('Btn360View').href, 'lang');
	var vr360URISM = gupURI($('Btn360View').href, 'SM');
	// vr360data.panoID
	// vr360data.lang
	// vr360data.SM
	
	if (isIPhone() || isIPad()) {
	//Mobile-Version - iPad / iPhone
		
		setCookie('diginetTour_startXML', 'bad_ragaz_' + vr360URIpanoID + ',' + vr360URIlang + ',' + vr360URISM, 30);
		$('Btn360View').href = "/360vr_badragaz_swf/html5/index.html";
		console.log("iPhone");
		
	}
	else if (isAndroid()) {
		if (isFlashReadyAndroidPhone()) {
		//Flash-Smartphone
		
			setCookie('diginetTour_startXML', 'bad_ragaz_' + vr360URIpanoID + ',' + vr360URIlang + ',' + vr360URISM, 30);
		}
		else if (isFlashReadyAndroidTablet()) {
		//Flash-Tablet
		
			setCookie('diginetTour_startXML', 'bad_ragaz_' + vr360URIpanoID + ',' + vr360URIlang + ',' + vr360URISM, 30);
			$('Btn360View').href = "/360vr_badragaz_swf/html5/index.html";
			console.log("Flash-Tablet");
		}
		else {
		//Fehlermeldung Android
			alert(unescape('Zum betrachten des virtuellen 360%B0 Rundgangs wird mindestens Android 2.2 sowie ein ARM Cortex v7 Prozessor ben%F6tigt.\n\rYou need at least Android 2.2 and an ARM Cortex v7 processor to view the virtual 360%B0 tour.'));
		}
	}
	else {
	//PC-Version
		$('Btn360View').addEvent('click', function() {
			var screenWidth = window.getSize().x;
			var screenHeight = window.getScrollSize().y;
		
			var iframeX = (screenWidth-1020)/2;
			var iframeY = (window.getSize().y-660)/2;
			
			$('panoramaClose').setStyles({
				'left' 	: iframeX+1020+5,
				'top'	: iframeY-24
			});
			
			var panorama = $('Btn360View').href;
			$('panoiFrame').src = panorama;
			
			$('panoramaOverlay').setStyles({ 
				'height' : screenHeight, 
				'width' : screenWidth, 
				'display' : 'block' });
			
			$('panoiFrame').setStyles({
				'left': iframeX,
				'top' : iframeY,
				'display' : 'block'
			});
			
			$('panoramaClose').setStyle('display' , 'block');
			
		return false;
		});
		
		$('panoramaClose').addEvent('click', function() {
			$('panoramaOverlay').setStyle('display','none');
			$('panoramaClose').setStyle('display','none');
			$('panoiFrame').setStyle('display','none');	
		});
		
		$('panoramaOverlay').addEvent('click', function() {
			$('panoramaOverlay').setStyle('display','none');
			$('panoramaClose').setStyle('display','none');
			$('panoiFrame').setStyle('display','none');	
		});
	}
}

window.addEvent('load', function() {
	showNavi();
	
	if($('panoramaOverlay') != null) { showPanorama(); }
	$('Btn360View').setStyle('display','inline');
		
});


function gupURI(uri, name)
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( uri );
  if( results == null )
    return "";
  else
    return results[1];
}

//COOKIES + DEVICE-DETECTION
//------------------------->

function setCookie(e,d,c){var a=new Date();var b=new Date(a);b.setMinutes(a.getMinutes()+c);document.cookie=e+"="+d+"; expires="+b.toGMTString()+"; path=/"}
function getCookieValue(f){var b=document.cookie;var c;var e;var a=document.cookie.split(";");for(var d=0;d<a.length;d++){c=a[d].substr(0,a[d].indexOf("="));e=a[d].substr(a[d].indexOf("=")+1);c=c.replace(/^\s+|\s+$/g,"");if(c==f){return unescape(e)}}return(null)}
function delCookie(a){document.cookie=a+"=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/"}
var userAgent=navigator.userAgent.toLowerCase();var platform=navigator.platform.toLowerCase();
function isIDevice(){if(isIPhone()||isIPad()){return true}else{return false}}
function isIPhone(){if(platform.search("iphone")>-1||platform.search("ipod")>-1){return true}else{return false}}function isIPad(){if(platform.search("ipad")>-1){return true}else{return false}}
function isAndroid(){if(userAgent.search("android")>-1&&isWebkit()){return true}if(userAgent.search("htc_flyer")>-1&&isWebkit()){return true}else{return false}}
function isAndroidPhone(){if(isAndroid()&&(userAgent.search("mobile")>-1)){return true}if(userAgent.search("htc_flyer")>-1){return true}else{return false}}
function isAndroidTablet(){if(userAgent.search("htc_flyer")>-1){return false}if(isAndroid()&&!(userAgent.search("mobile")>-1)){return true}else{return false}}function isWebkit(){if(userAgent.search("webkit")>-1){return true}else{return false}}
function isCorrectAndroidVersion(){if(userAgent.search("android 0")>-1||userAgent.search("android 1")>-1||userAgent.search("android 2.0")>-1||userAgent.search("android 2.1")>-1){return false}else{return true}}
function isCorrectAndroidProcessor(){if(platform.search("linux armv5")>-1||platform.search("linux armv6")>-1){return false}else{return true}}
function isFlashReadyAndroidPhone(){if(isAndroidPhone()&&isCorrectAndroidVersion()&&isCorrectAndroidProcessor()){return true}else{return false}}
function isFlashReadyAndroidTablet(){if(isAndroidTablet()&&isCorrectAndroidVersion()&&isCorrectAndroidProcessor()){return true}else{return false}}
function isPC(){if(isIPhone()||isIPad()||isAndroid()){return false}else{return true}}function isSmartphone(){if(isAndroidPhone()||isIPhone()){return true}else{return false}}function isTablet(){if(isIPad()||isAndroidTablet()){return true}else{return false}};

