// JavaScript-Funktionen und -Skripte


// Dynamische Bildgröße
function setHeight (tempHeight) {
	if (document.layers) // Netscape 4
	{
		fensterY = window.innerHeight - tempHeight - 12;	
		document.dynImg.width = 1;
		document.dynImg.height = fensterY;
		document.writeln ('<img src="/images/blind.gif" width="1" height="' + fensterY + '">');
	}
	if (document.all) // IE
	{
		fensterY = document.body.clientHeight - tempHeight - 12;
		document.images["dynImg"].width = 1;
		document.images["dynImg"].height = fensterY;
	}
	if (document.getElementById && !document.all) // NS 6+
	{
		fensterY = window.innerHeight - tempHeight - 12;
		document.images["dynImg"].width = 1;
		document.images["dynImg"].height = fensterY;
	}
}

// Funktion mit Reload
function reSetHeight(Ereignis)
{ 
	if (document.layers) // Netscape 4
		window.history.go(0);
	else // IE und NS 6+
		setHeight (341);
}

window.onresize = reSetHeight;

// Bilder vorausladen
function preloadImages() {
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

// Bilder wiederherstellen
function swapImgRestore() {
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

// Objekt-Finder
function findObj(n, d) {
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

// Bild austauschen
function swapImage() {
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// Seite laden
function reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.pgW=innerWidth; document.pgH=innerHeight; onresize=reloadPage; }}
  else if (innerWidth!=document.pgW || innerHeight!=document.pgH) location.reload();
}
reloadPage(true);

// Layer anzeigen
function showHideLayers() {
  var i,p,v,obj,args=showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

// Timer default auf Null
timer=null;

// Aktiven Layer für Urzustand bestimmen
activatedLayer = "layerBusiness";

// Timer auf Null zurücksetzen
function timeoutStop() {
	clearTimeout(timer);
	timer=null;
}

// Aktiven layer ausblenden
function doHide()
{
	showHideLayers(activatedLayer,'','hide');
}

// Aktiven layer verzögert ausblenden
function delayDoHide()
{
	timer = window.setTimeout("showHideLayers(activatedLayer,'','hide');",1000);
}

// Funktion zum Layer Einbinden mit mehreren Unterfunktionen
function layerStart(layerId)
{
	timeoutStop();
	doHide();
	showHideLayers(layerId,'','show');
}

// Funktion zum Layer Ausblenden mit Unterfunktion
function layerStop()
{
	delayDoHide();
}

// X-Position
function getLeft(refObj)
{
	xPos=refObj.offsetLeft;
	parentObj=refObj.offsetParent;
	while(parentObj != null)
	{
		xPos +=parentObj.offsetLeft;parentObj=parentObj.offsetParent;
	}
	return xPos;
}

// Y-Position
function getTop(refObj)
{
	yPos=refObj.offsetTop;
	parentObj=refObj.offsetParent;
	while(parentObj != null)
	{
		yPos +=parentObj.offsetTop;parentObj=parentObj.offsetParent;
	}
	return yPos;
}

// X-Position eines Bildes
function leftPos(refName)
{
	ref=document.images[refName];
	return (document.layers)? ref.x : getLeft(ref);
}

// Y-Position eines Bildes
function topPos(refName)
{
	ref=document.images[refName];
	return (document.layers)? ref.y : getTop(ref);
}

// Browser-Check für Layer-Handling
function thisDiv(Ident)
{
	if(document.all)
	{
		Pointer=document.all[Ident].style;
	}
	else if(document.getElementById)
	{
		Pointer=document.getElementById(Ident).style;
	}
	else if(document.layers)
	{
		Pointer=document.layers[Ident];
	}
	return Pointer;
}

// Layer verschieben
function moveDivTo(objName,l,t)
{
	thisDiv(objName).left=l;
	thisDiv(objName).top=t;
}

// Funktion mit zahlreichen Unterfunktionen für Layer
function layerNavigation(bildID,layerID,leftSpacer,topSpacer)
{
	timeoutStop();
	doHide();
	leftEnd = leftPos(bildID,layerID) + leftSpacer;
	topEnd = topPos(bildID,layerID) + topSpacer;
	moveDivTo(layerID,leftEnd,topEnd);
	showHideLayers(layerID,'','show');
	activatedLayer = layerID;
}

function checkForm()
	{	
	check = "true";

	errors = "Folgende Fehler sind aufgetreten:\n";
	
	if (document.forms.formular.name.value=="")
		{
		errors += "--> Bitte geben Sie Ihren Namen an\n";
		check = "false"; 
		}
	if (document.forms.formular.email.value.indexOf('@') == -1)
		{
		errors += "--> Bitte geben Sie Ihre Email-Adresse an\n";
		check = "false"; 
		}
	if (document.forms.formular.nachricht.value=="")
		{
		errors += "--> Bitte geben Sie Ihre Nachricht ein\n";
		check = "false"; 
		}
	if (check=="false")
		{
		alert (errors);
		}
		else
			{
			document.forms.formular.submit();
			}
}

function checkFormEn()
	{	
	check = "true";

	errors = "The following mistakes have appeared:\n";
	
	if (document.forms.formular.name.value=="")
		{
		errors += "--> Pease fill in your name\n";
		check = "false"; 
		}
	if (document.forms.formular.email.value.indexOf('@') == -1)
		{
		errors += "--> Pease fill in your e-mail\n";
		check = "false"; 
		}
	if (document.forms.formular.nachricht.value=="")
		{
		errors += "--> Pease fill in your message\n";
		check = "false"; 
		}
	if (check=="false")
		{
		alert (errors);
		}
		else
			{
			document.forms.formular.submit();
			}
}


function checkBooking()
	{	
	check = "true";

	errors = "Folgende Fehler sind aufgetreten:\n";
	
	if (document.forms.formular.name.value=="")
		{
		errors += "--> Bitte geben Sie Ihren Namen an\n";
		check = "false"; 
		}
	if (document.forms.formular.strasse.value=="")
		{
		errors += "--> Bitte geben Sie Ihre Straße an\n";
		check = "false"; 
		}
	if (document.forms.formular.plz.value=="")
		{
		errors += "--> Bitte geben Sie Ihre PLZ an\n";
		check = "false"; 
		}
	if (document.forms.formular.ort.value=="")
		{
		errors += "--> Bitte geben Sie Ihren Ort an\n";
		check = "false"; 
		}
	if (document.forms.formular.email.value.indexOf('@') == -1)
		{
		errors += "--> Bitte geben Sie Ihre Email-Adresse an\n";
		check = "false"; 
		}
	if (document.forms.formular.anreisetag.value=="")
		{
		errors += "--> Bitte geben Sie Ihren Anreisetag an\n";
		check = "false"; 
		}
	if (document.forms.formular.abreisetag.value=="")
		{
		errors += "--> Bitte geben Sie Ihren Abreisetag an\n";
		check = "false"; 
		}
	if (document.forms.formular.dz.value=="")
		{
		errors += "--> Bitte geben Sie die gewünschte Anzahl von DZ an\n";
		check = "false"; 
		}
	if (document.forms.formular.ez.value=="")
		{
		errors += "--> Bitte geben Sie die gewünschte Anzahl von EZ an\n";
		check = "false"; 
		}
	if (document.forms.formular.app.value=="")
		{
		errors += "--> Bitte geben Sie die gewünschte Anzahl von App. an\n";
		check = "false"; 
		}
	if (check=="false")
		{
		alert (errors);
		}
		else
			{
			document.forms.formular.submit();
			}
}


function checkBookingEn()
	{	
	check = "true";

	errors = "The following mistakes have appeared::\n";
	
	if (document.forms.formular.name.value=="")
		{
		errors += "--> Pease fill in your name\n";
		check = "false"; 
		}
	if (document.forms.formular.strasse.value=="")
		{
		errors += "--> Pease fill in your street\n";
		check = "false"; 
		}
	if (document.forms.formular.plz.value=="")
		{
		errors += "--> Pease fill in your postcode\n";
		check = "false"; 
		}
	if (document.forms.formular.ort.value=="")
		{
		errors += "--> Pease fill in your city\n";
		check = "false"; 
		}
	if (document.forms.formular.email.value.indexOf('@') == -1)
		{
		errors += "--> Pease fill in your E-Mail\n";
		check = "false"; 
		}
	if (document.forms.formular.anreisetag.value=="")
		{
		errors += "--> Pease fill in arrival day\n";
		check = "false"; 
		}
	if (document.forms.formular.abreisetag.value=="")
		{
		errors += "--> Pease fill in departure day\n";
		check = "false"; 
		}
	if (document.forms.formular.dz.value=="")
		{
		errors += "--> How many double rooms?\n";
		check = "false"; 
		}
	if (document.forms.formular.ez.value=="")
		{
		errors += "--> How many single rooms?\n";
		check = "false"; 
		}
	if (document.forms.formular.app.value=="")
		{
		errors += "--> How many apartments?\n";
		check = "false"; 
		}
	if (check=="false")
		{
		alert (errors);
		}
		else
			{
			document.forms.formular.submit();
			}
}


// PopUp-Fenster für Bild
function openPopup(pic)
{
	window.open('/bild.php?pic=' + pic,'Bildansicht','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=200,height=200');
}

