

// 
//  All code: (c) n@work Internet Informationssysteme GmbH  
//  http://www.work.de 
// 

// Richtiger Browser?
var browsername = navigator.appName; 
var browserversion = parseInt(navigator.appVersion);
var browserVersionNum = parseFloat(navigator.appVersion)
var agt=navigator.userAgent.toLowerCase();

var is_netscape=(browsername.indexOf("Netscape")!=-1);
var is_ie=(browsername.indexOf("Microsoft Internet Explorer")!=-1);
var isMac  = (agt.indexOf("mac")!=-1);

var isW3C=false; // Gibt an, ob es NS6 oder anderer W3C kompatibler Browser ist
if ((document.getElementById) && is_netscape) {isW3C=true;}


// Detect Internet Explorer Versionsnummer:
var ua = window.navigator.userAgent
var msie = ua.indexOf ( "MSIE " )
var verIE= parseInt (ua.substring (msie+5, ua.indexOf (".", msie )));

// Sind wir auf der englische Version?
var isEnglish=(document.URL.indexOf("_e.html")!=-1);
      
// Festlegen, ob Layer verwendet werden koennen:
var useLayer=false;
if ( ((document.layers) || (document.all) || ( isW3C) ) && !((verIE<5) && isMac) ) {
	useLayer=true;
}			

var br = "";
if ( (is_netscape && browserversion >= 3) ||
     (browsername == "Microsoft Internet Explorer" && browserversion >= 4)) {  

	br = "n3";

	// Passiven Bilder vordefinieren (jeweils nur für die jeweilige Sprachversion):

	if (isEnglish) {
		// Main Navigation English:
		m0_e_on= 	new Image(); 			m0_e_on.src="../img/m0_on_e.gif"; 
		m1_e_on= 	new Image(); 			m1_e_on.src="../img/m1_on_e.gif";
		m2_e_on= 	new Image(); 			m2_e_on.src="../img/m2_on_e.gif"; 
		m3_e_on= 	new Image(); 			m3_e_on.src="../img/m3_on_e.gif"; 	
		m4_e_on= 	new Image(); 			m4_e_on.src="../img/m4_on_e.gif"; 	
		m5_e_on= 	new Image(); 			m5_e_on.src="../img/m5_on_e.gif"; 
		m6_e_on= 	new Image(); 			m6_e_on.src="../img/m6_on_e.gif"; 	

	} else {

		// Main Navigation:
		m0_on= 	new Image(); 			m0_on.src="../img/m0_on.gif"; 
		m1_on= 	new Image(); 			m1_on.src="../img/m1_on.gif";
		m2_on= 	new Image(); 			m2_on.src="../img/m2_on.gif"; 
		m3_on= 	new Image(); 			m3_on.src="../img/m3_on.gif"; 	
		m4_on= 	new Image(); 			m4_on.src="../img/m4_on.gif"; 	
		m5_on= 	new Image(); 			m5_on.src="../img/m5_on.gif"; 
		m6_on= 	new Image(); 			m6_on.src="../img/m6_on.gif"; 	

	}

}

var save_src="";

function toggle_image (bild,mode) {
	// Tauscht "bild" gegen die *_on" Variante aus:

	if ( br == "n3" ) {
		if (mode == "off") {
     		document.images[bild].src =save_src;
		} else {
			save_src=document.images[bild].src;
			document.images[bild].src = eval ( bild + "_on.src" );
		}
   	}
}

function initializePage() {

	// Bei Netscape 4-5 den MouseOut Event an den Layer knuepfen:
	 if ((document.layers)) {
		document.m0Layer.onmouseout = function (evt) {
 			ToggleLayer('m0Layer','off'); 
		}
		document.m1Layer.onmouseout = function (evt) {
 			ToggleLayer('m1Layer','off'); 
		}
		document.m2Layer.onmouseout = function (evt) {
 			ToggleLayer('m2Layer','off'); 
		}											
		document.m3Layer.onmouseout = function (evt) {
 			ToggleLayer('m3Layer','off'); 
		}
		document.m4Layer.onmouseout = function (evt) {
 			ToggleLayer('m4Layer','off'); 
		}
		document.m5Layer.onmouseout = function (evt) {
 			ToggleLayer('m5Layer','off'); 
		}
		document.m6Layer.onmouseout = function (evt) {
 			ToggleLayer('m6Layer','off'); 
		}
 	}

	// Aktuellen Hautpnavigationspunkt markieren: 
	if (main_menu!="homepage") {
		if (isEnglish) { 
			// Bei der funkt. Nav muss das Bild "*_e" ausgeatuscht werden:
			if ((main_menu=="stadtplan") || (main_menu=="sitemap")  || (main_menu=="kontakt") || (main_menu=="impressum") || (main_menu=="presse")) {
				document.images[(main_menu + "_e")].src = eval ( main_menu + "_e_on.src" );
			} else {
				document.images[main_menu].src = eval ( main_menu + "_e_on.src" );
			}
		} else {
			document.images[main_menu].src = eval ( main_menu + "_on.src" );
		}
	}

	// Header-Grafik entsprechend der Hauptrubrik wechseln:
	if (main_menu=="homepage")      {document.images['header_illu'].src='../img/header_welcome.jpg';}
	if (main_menu=="m0")  {document.images['header_illu'].src='../img/header_m0.jpg';}
	if (main_menu=="m1") {document.images['header_illu'].src='../img/header_m1.jpg';}
	if (main_menu=="m2"){document.images['header_illu'].src='../img/header_m2.jpg';}
	if (main_menu=="m3")   {document.images['header_illu'].src='../img/header_m3.jpg';}
	if (main_menu=="m4") {document.images['header_illu'].src='../img/header_m4.jpg';}
	if (main_menu=="m5")   {document.images['header_illu'].src='../img/header_m5.jpg';}
	if (main_menu=="m6") {document.images['header_illu'].src='../img/header_m6.jpg';}

	// Hotel-Tab positionieren:

	if ((typeof buchungs_engine == 'undefined')&& (main_menu!="homepage"))  { // Hotel-Tab nicht auf den Buchungsseiten einbinden:
    		SetTabPosition ();
	}

//	if (main_menu=="homepage") {
//		OpenRemoteWindow('/pop_up.html','BANNER',260,160);
//	} 
		
}


// =============== DHTML Menus: ===============


if (document.layers) { // NS 4-5
  	visible = 'show';
  	hidden = 'hide';
	layer_header ='document.layers[';
	layer_footer =']';
} else if (document.all) { // IE
	visible = 'visible';
	hidden = 'hidden';
	layer_header ='document.all(';
	layer_footer =').style';
} else if (isW3C) { // Netscape 6
	visible = 'visible';
	hidden = 'hidden';
	layer_header ='document.getElementById(';
	layer_footer =').style';
}


function getImageLeft(img) {
	// Stellt die Position (x) eines Bildes "img" fest:
  	var x, obj;
	if (document.layers) {
    		if (img.container != null)  return img.container.pageX + img.x;
    		else  return img.x;
  	}
 	if ((document.all) || (isW3C)) {
   		 x = 0;
    		obj = img;
    		while (obj.offsetParent != null) {
      		x += obj.offsetLeft;
      		obj = obj.offsetParent;
    		}
    		x += obj.offsetLeft;
    		return x;
  	}
  return -1;
}


function getImageTop(img) {
	// Stellt die Position (y) eines Bildes "img" fest:
  var y, obj;
	if (document.layers) {
    if (img.container != null)    return img.container.pageY + img.y;
    else  return img.y;
  }
 if ((document.all) || (isW3C)) {
    y = 0;
    obj = img;
    while (obj.offsetParent != null) {
      y += obj.offsetTop;
      obj = obj.offsetParent;
    }
    y += obj.offsetTop;
    return y;
  }
  return -1;
}


function ToggleLayer(menu,button,mode){
	// Blendet einen Layer "menu" ein (mode="on") oder aus (mode="off"):
 
	if (!useLayer) {return true;} // Layer nur bei geeigneten Browsern zeigen

	TempLayer = eval ( layer_header + 'menu' + layer_footer);

	// Momentane Position der Buttons fuer die Plazierung der Layer feststellen:
	if (menu=="m0Layer") tmp_img='m0';
	if (menu=="m1Layer") tmp_img='m1';
	if (menu=="m2Layer") tmp_img='m2';
	if (menu=="m3Layer") tmp_img='m3';
	if (menu=="m4Layer") tmp_img='m4';
	if (menu=="m5Layer") tmp_img='m5';
	if (menu=="m6Layer") tmp_img='m6';
	 leftOffset=getImageLeft(document.images[tmp_img]);
	 topOffset=getImageTop(document.images[tmp_img]);

	// Falsche Positionierung bei IE & Mac beheben (ignoriert MARGINWIDTH...):
	if (is_ie && isMac) {leftOffset=leftOffset+20; topOffset=topOffset+24};

	// alert (leftOffset);
	// alert (  topOffset);

 	if (mode == "off") {
		// Layer verbergen
		TempLayer.visibility = hidden;
  	} else {
		// Alle andere Layern verbergen, falls einer noch sichtbar ist:
		for (i=0; i<7; i++) {
			 if (document.layers) { // Netscape 4-5
				if (document.layers[layerArray[i]]) { // Ist Layer bereits geladen?
					document.layers[layerArray[i]].visibility =hidden;
				}
			 } else if (document.all) { // IE
				if (document.all(layerArray[i])) { // Ist Layer bereits geladen?
			 		document.all(layerArray[i]).style.visibility =hidden;
				} 
			} else if (isW3C) { // Netscape 6
				if (document.getElementById(layerArray[i])) { // Ist Layer bereits geladen?
			 		document.getElementById(layerArray[i]).style.visibility =hidden;
				} 
			}
		}

		if (TempLayer) { // Ist Layer bereits geladen?
			// Postition anpassen:
			TempLayer.left=leftOffset;
			TempLayer.top=topOffset+16;
			// Layer zeigen: 
			TempLayer.visibility = visible;
		}
	}
} 

// Liste aller Layer zum Verbergen aller Layer:
layerArray= new Array();
layerArray[0]="m0Layer";
layerArray[1]="m1Layer";
layerArray[2]="m2Layer";
layerArray[3]="m3Layer";
layerArray[4]="m4Layer";
layerArray[5]="m5Layer";
layerArray[6]="m6Layer";


// ================= Hotel-Tab: ==============


function determineWidth () {
	if (parseInt(navigator.appVersion)>3) {
 		if (navigator.appName=="Netscape") {
  			winW = window.innerWidth-16;
  			// winH = window.innerHeight;
		 }
 		if (navigator.appName.indexOf("Microsoft")!=-1) {
 			winW = document.body.offsetWidth-20;
  			// winH = document.body.offsetHeight;
 		}
	}
	return winW;
}


function showTab() {
	// Zeigt die Buchungsmaske ("TabOutLayer"), nach
	FensterBreite=determineWidth();

	if (document.layers) {
		document.layers['TabOutLayer'].left=FensterBreite-tabGesamtbreite+MacOffset;;
		document.layers['TabOutLayer'].visibility =visible;
	} else if (document.all) {
		document.all('TabOutLayer').style.left=FensterBreite-tabGesamtbreite+MacOffset;;
		document.all('TabOutLayer').style.visibility =visible;
	} else if (isW3C) { // Netscape 6
		document.getElementById('TabOutLayer').style.left=FensterBreite-tabGesamtbreite+MacOffset;;
	 	document.getElementById('TabOutLayer').style.visibility =visible;
	} 
		
	tabout=true;
}

function HideTab() {
	if (document.layers) {
		document.layers['TabOutLayer'].visibility =hidden;
		document.layers['TabOutLayer'].left=-220;
	} else if (document.all) {
		document.all('TabOutLayer').style.visibility =hidden;
		document.all('TabOutLayer').style.left=-220;
	} else if (isW3C) { // Netscape 6
	 	document.getElementById('TabOutLayer').style.visibility =hidden;
		document.getElementById('TabOutLayer').style.left=-220;
	} 

	tabout=false;
}

// Gibt an, ob Hotel-Tab drinnen (false) oder draussen ist:
var tabout=false;

// Die Postition des Hotel-Tab muss auf dem Mac bzw. Mac & IE5 korrigiert werden:
var MacOffset=0;
if (isMac) {MacOffset=17};
if (is_ie && isMac) {MacOffset=20};

// Definition der Breite der Lasche & Gesamtbreite wenn ausgeklappt:
var tabBreite=27;
var tabGesamtbreite=199;

function SetTabPosition () {
	// Positioniert den Hotel-Tab am rechten Browserrand 
	// abhaengig von der dynamischen Breite des Fensters

	FensterBreite=determineWidth();
	if (document.layers) {
		document.layers['TabLayer'].left=FensterBreite-tabBreite+MacOffset;
		document.layers['TabLayer'].visibility =visible;
	} else if (document.all) {
			document.all('TabLayer').style.left=FensterBreite-tabBreite+MacOffset;
			document.all('TabLayer').style.visibility =visible;
	} else if (isW3C) { // Netscape 6
		document.getElementById('TabLayer').style.left=FensterBreite-tabBreite+MacOffset;
	 	document.getElementById('TabLayer').style.visibility =visible;
	} 	

	if (tabout) {
		showTab()
	}
}

function ResizeEvent () {
	if (main_menu!="homepage") {
		SetTabPosition();
	}
}

// ================= Oeffnet neues Fenster: ===========
function OpenRemoteWindow(url,target,breite,hoehe,option) {
	var widthOffset=0; var sc=0;

	if (is_netscape && !isW3C && (option=='undefined')) {widthOffset=40;}
	if (option=="scroll") {sc=1;}
     features='toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=' +sc + ',resizable=' +sc + ',width=' + (breite-widthOffset) +',height=' + hoehe +',screenX=50,screenY=50';
	// alert (features);
     win=window.open(url,target,features);
     win.focus();
}

