// Operating System
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";

//BROWSER
// Browser
if(document.all)
{
var thisbrowser="IE"
}

if(!document.all && document.getElementById)
{
var thisbrowser="NN6";
}


// Browser
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{	// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 	// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
browser	= BrowserDetect.browser;

function checkemail(checkStr)
{
// test if valid email address, must have @ and .
var checkEmail = "@.";
var EmailValid = false;
var EmailAt = false;
var EmailPeriod = false;
var error = "";

for (i = 0;i < checkStr.length;i++)
{
ch = checkStr.charAt(i);

for (j = 0;j < checkEmail.length;j++)
{

if (ch == checkEmail.charAt(j) && ch == "@")
EmailAt = true;

if (ch == checkEmail.charAt(j) && ch == ".")
EmailPeriod = true;

if (EmailAt && EmailPeriod)
break;

if (j == checkEmail.length)
break;
}

// if both the @ and . were in the string
if (EmailAt && EmailPeriod)
{
EmailValid = true
break;
error = "";
}

}

if (!EmailValid)
{
error = " - Email must contain an \"@\" and a \".\"\n";
}

return error;
}

function submitform()
{
return document.forms[0].submit();
}

function checkform()
{
var alertsay = ""; 

if (document.forms[0].Name.value == "")
{
alertsay += "- You must enter your Name\n";
}

if (document.forms[0].Tel.value == "")
{
alertsay += "- Please enter your telephone number\n";
}

if (document.forms[0].Email.value == "")
{
alertsay += "- Please enter your Email address\n";
}

else
{
alertsay += checkemail(document.forms[0].Email.value);
}

if (alertsay)
{
alert("The following error(s) occurred:\n" + alertsay.substring(alertsay,alertsay.length-1) + "\n\nForm would not be processed");
}

else
{
submitform();
}

}

function CheckBooking()
{
var alertsay = ""; 

if (document.forms[0].Name.value == "")
{
alertsay += "- You must enter your Name\n";
}

if (document.forms[0].Tel.value == "")
{
alertsay += "- Please enter your telephone number\n";
}

if (document.forms[0].Email.value == "")
{
}

else
{
alertsay += checkemail(document.forms[0].Email.value);
}

if (document.forms[0].BookingType.value == "")
{
alertsay += "- Please choose your booking type\n";
}

if ((document.forms[0].Day.value == "") && (document.forms[0].Month.value == ""))
{
alertsay += "- Please choose your required date\n";
}

else
{

if (document.forms[0].Day.value == "")
{
alertsay += "- Please choose your required day\n";
}

if (document.forms[0].Month.value == "")
{
alertsay += "- Please choose your required month\n";
}

}

if (document.forms[0].TimeFrame.value == "")
{
alertsay += "- Please choose your time frame\n";
}

if (alertsay)
{
alert("The following error(s) occurred:\n" + alertsay.substring(alertsay,alertsay.length-1) + "\n\nForm would not be processed");
}

else
{
submitform();
}

}

var rolloverInitialized = false;

function rolloverInit()
{
	
if (!rolloverInitialized && isDefined(document.images))
{
	
if (isDefined(document.getElementsByTagName))
{
var bodyId = document.body.id;
var images = new Array();


var imgs 	= document.getElementsByTagName('img');
var inputs 	= document.getElementsByTagName('input');

for (var i = 0; i < inputs.length; i++)
{

if (inputs[i].type == 'image')
{
var FormImg	= inputs[i];
images.push(FormImg);
}

}

for (var i = 0; i < imgs.length; i++)
{
images.push(imgs[i]);
}

}

else
{
images 	= document.images;
inputs 		= new Array();

for (var formIndex = 0; formIndex < document.forms.length; formIndex++)
{

for (var elementIndex = 0; elementIndex < document.forms.elements.length; elementIndex++)
{
if (isDefined(document.forms.elements[i].src))
{
inputs[inputs.length] = document.forms.elements[i];
}

}

}

}


 // get all images with '_off.' in src value excepting the one that is for the BODY
for (var i = 0; i < images.length; i++)
{

if (images[i].src.indexOf('_off.') != -1)
{
	
if (images[i].src.indexOf(bodyId) != -1)
{
images[i].src = images[i].src.replace(/_off\./, '_on.');
}

else
{
var image = images[i];

 // store the off state filename in a property of the image object
image.offImage = new Image();
image.offImage.src = image.src;

// store the on state filename in a property of the image object
 // (also preloads the on state image)
image.onImage = new Image();
image.onImage.imageElement = image;

 // add onmouseover and onmouseout event handlers once the on state image has loaded
 // Safari's onload is screwed up for off-screen images; temporary fix

if (navigator.userAgent.toLowerCase().indexOf('safari') != - 1)
{
image.onmouseover = function()
{
 this.src = this.onImage.src;
};
image.onmouseout = function()
{
 this.src = this.offImage.src;
};
}
 else
{
image.onImage.onload = function()
{
 this.imageElement.onmouseover = function()
{
this.src = this.onImage.src;
};
 this.imageElement.onmouseout = function()
{
this.src = this.offImage.src;
};
};
}

 // set src of on state image after defining onload event handler
 // so cached images (that load instantly in IE) will trigger onload
 image.onImage.src = image.src.replace(/_off\./, '_on.');

}

}

}

}
rolloverInitialized = true;
}

function BlurLinks(){

// Text- u. Grafik-Links
lnks=document.getElementsByTagName('a');
for(i=0;i<lnks.length;i++){
lnks[i].onfocus=new Function("this.blur()");
}

// Input Buttons
lnks=document.getElementsByName('input');
for(i=0;i<lnks.length;i++){
lnks[i].onfocus=new Function("this.blur()");
}
}

function IEFlashFix()
{
elems=document.getElementsByTagName("noscript");

for(i=elems.length-1;elem=elems[i];i--)
{
if(elem.className=="clickfix") 
{
elem.outerHTML = elem.innerHTML; 
}
}
}
var MediaID;

function RunFunctions()
{

if (document.getElementById("NavScroll"))
{
scrolltextInit("NavScroll", "NavText");
}

if (document.getElementById("BigScroll"))
{
scrolltextInit2("BigScroll", "MainContent");
}

if (document.getElementById("MainScroll"))
{
scrolltextInit2("MainScroll", "MainContent");
}

if (MediaID)
{
bookmarks(MediaID);
}

if (document.getElementById("faceLink"))
{
bookmarks2("face")	
};

if (OSName == "Windows")
{
IEFlashFix();
}

if ((isDefined(window.attachEvent)) || (isDefined(window.addEventListener)))
{
rolloverInit();
}

BlurLinks();
}

function isDefined(property)
{
return (typeof property != 'undefined');
}


function isThere(property)
{
return (typeof property == "object");
}

if (isDefined(window.addEventListener))
{
window.addEventListener('load', RunFunctions, false);
}

else if (isDefined(window.attachEvent))
{
window.attachEvent('onload', RunFunctions);
}


else
{
onload = RunFunctions();
}

function findPos(obj)
{

var curtop = 0;

if (obj.offsetParent)
{
curtop = obj.offsetTop

while (obj = obj.offsetParent)
{
curtop += obj.offsetTop
}

}

return curtop;
}