function onDocumentLoad() {

	if (typeof(hotelCategory) == 'undefined') {
		hotelCategory = "";
	}
	try {
		if ($('mylightbox')) {
			myLightbox = new Lightbox();
		}
	}
	catch (e) {
	}

	if ($('languages') != null) {
		var languages = new dropDown($('languages'));
	}

	if ($('requesttyp') != null) {
		var requesttyp = new dropDown($('requesttyp'));
	}

	if ($('requestdestination') != null) {
		var requestdestination = new dropDown($('requestdestination'));
	}

	switch (hotelCategory) {
		case 'wellness':
			var sujetColor = "05b1a3";
			break;

		case 'city':
			var sujetColor = "b6030e";
			break;

		case 'family':
			var sujetColor = "f48f00";
			break;

		case 'residences':
			var sujetColor = "755d88";
			break;

		default:
			var sujetColor = "00468e";
			break;

	}
	try {
		text2image($$('#portal .portalarea .teaserbox .themeteaser.neutral p a.headline'), {
			font: 'StoneSerITCStd-Medium.ttf',
			width: '179',
			height: '23',
			color: '00498D',
			size: '14',
			positionx: 0,
			positiony: 15,
			replaceElement: {
				tagName: "a",
				className: "headline"
			},
			addImage: {
				tagName: "a",
				className: "headdone",
				top: 0
			}
		});
		text2image($$('#portal .portalarea .teaserbox .themeteaser.wellness p a.headline'), {
			font: 'StoneSerITCStd-Medium.ttf',
			width: '159',
			height: '23',
			color: '05b1a3',
			size: '14',
			positionx: 0,
			positiony: 15,
			replaceElement: {
				tagName: "a",
				className: "headline"
			},
			addImage: {
				tagName: "a",
				className: "headdone",
				top: 0
			}
		});
		text2image($$('#portal .portalarea .teaserbox .themeteaser.city p a.headline'), {
			font: 'StoneSerITCStd-Medium.ttf',
			width: '180',
			height: '23',
			color: 'b6030e',
			size: '14',
			positionx: 0,
			positiony: 15,
			replaceElement: {
				tagName: "a",
				className: "headline"
			},
			addImage: {
				tagName: "a",
				className: "headdone",
				top: 0
			}
		});
		text2image($$('#portal .portalarea .teaserbox .themeteaser.family p a.headline'), {
			font: 'StoneSerITCStd-Medium.ttf',
			width: '179',
			height: '23',
			color: 'f48f00',
			size: '14',
			positionx: 0,
			positiony: 15,
			replaceElement: {
				tagName: "a",
				className: "headline"
			},
			addImage: {
				tagName: "a",
				className: "headdone",
				top: 0
			}
		});


		/*
		 text2image($$('h1'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '600',
		 height: '23',
		 color: sujetColor,
		 size: '12',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h1"
		 },
		 addImage: {
		 tagName: "img",
		 className: "stars",
		 top: 0
		 }
		 });

		 text2image($$('.sidebar_right h3'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '140',
		 height: '',
		 color: sujetColor,
		 size: '12',
		 positionx: 0,
		 positiony: 14,
		 replaceElement: {
		 tagName: "span",
		 className: "h3"
		 }
		 });

		 text2image($$('#countries .hotelname'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '220',
		 height: '',
		 color: '00468e',
		 size: '12',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "div",
		 className: "hotelname"
		 }
		 });

		 text2image($$('#countries .hotelnamewide'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '280',
		 height: '',
		 color: '00468e',
		 size: '12',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h1"
		 }
		 });

		 text2image($$('.headline h2.img','#countries .locaname'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '600',
		 height: '23',
		 color: '909499',
		 color: '333333',
		 size: '8',
		 positionx: 0,
		 positiony: 12,
		 replaceElement: {
		 tagName: "div",
		 className: "locaname"
		 },
		 modifyValue : function (vari) {
		 return vari.toUpperCase();
		 }
		 });

		 text2image($$('.sidebar_right h4'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '600',
		 height: '23',
		 color: '909499',
		 size: '8',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h4"
		 },
		 modifyValue : function (vari) {
		 return vari.toUpperCase();
		 }
		 });

		 text2image($$('.boxes .callback h3.blue'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '140',
		 height: '23',
		 color: '00498d',
		 size: '10',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h3"
		 }
		 });

		 text2image($$('.boxes .requestbox h3.white'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '140',
		 height: '23',
		 color: 'ffffff',
		 size: '10',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h3"
		 }
		 });


		 text2image($$('#content .textarea h3.img'),{
		 font: 'StoneSerITCStd-Medium.ttf',
		 width: '',
		 height: '',
		 color: '00498d',
		 size: '10',
		 positionx: 0,
		 positiony: 15,
		 replaceElement: {
		 tagName: "span",
		 className: "h3"
		 },
		 modifyValue : function (vari) {
		 return vari.toUpperCase();
		 }
		 });
		 */
	}
	catch (e) {
	}

	var hotelTypes = new Array({
		key: 'wellness',
		color: '05b1a3'
	}, {
		key: 'city',
		color: 'b6030e'
	}, {
		key: 'family',
		color: 'f48f00'
	});

	new classSwitcher([ $$('#topnav li'), $$('#topnav li ul li'), $$('#topnav li ul li ul li') ]);
	new classPicSwitcher([ $$('#topnav li.main') ]);


	/**Initialisierung fuer Hotelkategorien wenn vorhanden */
	var categories = document.getElementsByClassName('categories');
	if (categories.length > 0) {
		for (j = 0; j < categories.length; j++) {
			cats = categories[j].getElementsByClassName('category');
			new catSlider(cats);
		}
	}

	/** Initialisierung fuer Angebote wenn vorhanden */
	if ($('packagescroll')) {
		var offerBlock = document.getElementsByClassName('packages');
		if (offerBlock.length > 0) {
			for (j = 0; j < offerBlock.length; j++) {
				offers = offerBlock[j].getElementsByClassName('entry');
				new offerSlider(offers);
			}
		}
	}

	/**  Fade Headerimages */
	if ($('slideheaderimages')) {
		/**  headerimages */
		animBackgroundHelper = null;
		var animBackground = Class.create();
		animBackground.prototype = {
			initialize : function (element) {
				this.images = $('slideheaderimages').getElementsByTagName('img');
				for (i = 0; i < this.images.length; i++) {
					if (i != 0) {
						$(this.images[i]).setOpacity(0);
						this.images[i].style.zIndex = 2;
					}
					else {
						$(this.images[i]).setOpacity(100);
						this.images[i].style.zIndex = 3;
						this.images[i].style.display = "block";
					}
				}
				this.actual = 0;
				if (this.images.length != 1) {
					new PeriodicalExecuter(this.changeImage, 4);
				}
				animBackgroundHelper = this;
			},
			changeImage : function () {
				images = animBackgroundHelper.images;
				if (animBackgroundHelper.actual == images.length - 1) {
					animBackgroundHelper.images[0].style.display = "block";
					animBackgroundHelper.images[animBackgroundHelper.actual].style.zIndex = 2;
					animBackgroundHelper.images[0].style.zIndex = 3;
					ex9 = new Animator({
						transition: Animator.makeEaseOut(3),
						duration: 4000
					});
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual], 'opacity', 1, 0));
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[0], 'opacity', 0, 1));
					ex9.play();
					animBackgroundHelper.actual = 0;
				}
				else {
					animBackgroundHelper.images[animBackgroundHelper.actual + 1].style.display = "block";
					animBackgroundHelper.images[animBackgroundHelper.actual].style.zIndex = 2;
					animBackgroundHelper.images[animBackgroundHelper.actual + 1].style.zIndex = 3;
					ex9 = new Animator({
						transition: Animator.makeEaseOut(3),
						duration: 4000
					});
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual], 'opacity', 1, 0));
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual + 1], 'opacity', 0, 1));
					ex9.play();
					animBackgroundHelper.actual ++;
				}
			}
		};
		new animBackground();
	}
	/**  Fade Portalimages */
	if ($('slideportalimages')) {

		animBackgroundHelper = null;
		var animBackground = Class.create();
		animBackground.prototype = {
			initialize : function (element) {
				this.images = $('slideportalimages').getElementsByTagName('img');
				for (i = 0; i < this.images.length; i++) {
					if (i != 0) {
						$(this.images[i]).setOpacity(0);
						this.images[i].style.zIndex = 2;
					}
					else {
						$(this.images[i]).setOpacity(100);
						this.images[i].style.zIndex = 3;
						this.images[i].style.display = "block";
					}
				}
				this.actual = 0;
				if (this.images.length != 1) {
					new PeriodicalExecuter(this.changeImage, 4);
				}
				animBackgroundHelper = this;
			},
			changeImage : function () {
				images = animBackgroundHelper.images;
				if (animBackgroundHelper.actual == images.length - 1) {
					animBackgroundHelper.images[0].style.display = "block";
					animBackgroundHelper.images[animBackgroundHelper.actual].style.zIndex = 2;
					animBackgroundHelper.images[0].style.zIndex = 3;
					ex9 = new Animator({
						transition: Animator.makeEaseOut(3),
						duration: 4000
					});
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual], 'opacity', 1, 0));
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[0], 'opacity', 0, 1));
					ex9.play();
					/* $('teaser').getElementsBySelector("h2").getElementsBySelector("a"); */
					links = $('teaser').getElementsBySelector("a");
					for (i = 0; i < links.length; i++) {
						switch (i) {
							case 0:
								links[i].update(animBackgroundHelper.images[0].name);
								break;
							case 1:
								links[i].update(animBackgroundHelper.images[0].alt);
								break;
						}
						links[i].href = getUrl(animBackgroundHelper.images[0].longDesc.replace("http://www.falkensteiner.com", ""));
					}
					animBackgroundHelper.actual = 0;
				}
				else {
					animBackgroundHelper.images[animBackgroundHelper.actual + 1].style.display = "block";
					animBackgroundHelper.images[animBackgroundHelper.actual].style.zIndex = 2;
					animBackgroundHelper.images[animBackgroundHelper.actual + 1].style.zIndex = 3;
					ex9 = new Animator({
						transition: Animator.makeEaseOut(3),
						duration: 4000
					});
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual], 'opacity', 1, 0));
					ex9.addSubject(new NumericalStyleSubject(animBackgroundHelper.images[animBackgroundHelper.actual + 1], 'opacity', 0, 1));
					ex9.play();
					links = $('teaser').getElementsBySelector("a");
					for (i = 0; i < links.length; i++) {
						switch (i) {
							case 0:
								links[i].update(animBackgroundHelper.images[animBackgroundHelper.actual + 1].name);
								break;
							case 1:
								links[i].update(animBackgroundHelper.images[animBackgroundHelper.actual + 1].alt);
								break;
						}
						links[i].href = getUrl(animBackgroundHelper.images[animBackgroundHelper.actual + 1].longDesc.replace("http://www.falkensteiner.com", ""));
					}
					animBackgroundHelper.actual ++;
				}
			}
		};
		new animBackground();
	}
	if ($('youtubeheaderlayer')) {
		var youtubeheaderlayer = Class.create();
		youtubeheaderlayer.prototype = {
			started : false,
			initialize : function () {

				var ani = new Animator({
					transition: Animator.makeEaseOut(3),
					duration: 1
				});
				/* ani.addSubject(new NumericalStyleSubject($('youtubeheaderstart'), 'opacity', 0, 1)); */
				ani.addSubject(new NumericalStyleSubject($('youtubeheaderend'), 'opacity', 1, 0));
				ani.play();

			},
			click : function (state) {
				switch (state) {
					case 0:
						this.end();
						break;
					case 1:
						this.start();
						break;
					default:
						break;
				}
			},
			start : function () {
				if (!this.started) {
					if (ytuse) {
						var ani = new Animator({
							transition: Animator.makeEaseOut(3),
							duration: 2000
						});
						ani.addSubject(new NumericalStyleSubject($$('#content .header'), 'height', 255, 465));
						ani.addSubject(new NumericalStyleSubject($$('#content .header #youtubeheaderlayer'), 'height', 255, 465));
						ani.addSubject(new NumericalStyleSubject($$('#content .header #youtubeheaderlayer .youtubeheader'), 'top', -105, 0));
						ani.addSubject(new NumericalStyleSubject($('youtubeheaderstart'), 'opacity', 1, 0));
						ani.addSubject(new NumericalStyleSubject($('youtubeheaderend'), 'opacity', 0, 1));

						ani.play();
						$$('#content .header #youtubeheaderlayer .youtubeplay')[0].hide();

						var ytplayer = $("myythplayer");
						ytplayer.playVideo();

						this.started = true;
					}
				}
			},
			stop : function () {
				if (this.started) {

					if (ytuse) {
						var ytplayer = $("myythplayer");
						ytplayer.stopVideo();

						var ani = new Animator({
							transition: Animator.makeEaseOut(3),
							duration: 2000
						});
						ani.addSubject(new NumericalStyleSubject($$('#content .header'), 'height', 465, 255));
						ani.addSubject(new NumericalStyleSubject($$('#content .header #youtubeheaderlayer'), 'height', 465, 255));
						ani.addSubject(new NumericalStyleSubject($$('#content .header #youtubeheaderlayer .youtubeheader'), 'top', 0, -105));
						ani.addSubject(new NumericalStyleSubject($('youtubeheaderstart'), 'opacity', 0, 1));
						ani.addSubject(new NumericalStyleSubject($('youtubeheaderend'), 'opacity', 1, 0));
						ani.play();
						$$('#content .header #youtubeheaderlayer .youtubeplay')[0].show();
						this.started = false;
					}
				}
			}
		};
		youtubeheader = new youtubeheaderlayer();
	}
	/**
	 * I-Frame Variante
	 */
	if ($('iframe') != null) {
		links = document.getElementsByTagName("a");
		for (i = 0; i < links.length; i++) {
			links[i].target = "_blank";
		}
	}
}

ytuse = false;
function onYouTubePlayerReady(playerId) {
	var ytplayer = $(playerId);
	ytuse = true;
	if ($('youtubeheaderlayer')) {
		$("myythplayer").addEventListener("onStateChange", "youtubeheader.click");
	}
}

function startHeaderYoutube() {
	youtubeheader.start();
}

function onDocumentFmtgLoad() {
	try {
		if ($('mylightbox')) {
			myLightbox = new Lightbox();
		}
	}
	catch (e) {
	}

	if ($('language') != null) {
		new dropDown($('language'));
	}
}


function getLink(link) {
	if (link.substr(1, 13) == "falkensteiner") {
		link = link.replace(/\/falkensteiner/i, "");
	}
	if (window.document.location.host != "www.falkensteiner.com") {
		link = "http://www.falkensteiner.com" + link;
	}

	if ($('iframe') != null) {
		window._blank.location.href = link;
		return;
	}

	location.href = link;
}

function getBlankLink(link) {
	if (link.substr(1, 13) == "falkensteiner") {
		link = link.replace(/\/falkensteiner/i, "");
	}
	if (window.document.location.host != "www.falkensteiner.com") {
		link = "http://www.falkensteiner.com" + link;
	}
	blankwindow = window.open(link);
}


function getUrl(link) {
	if (link.substr(1, 13) == "falkensteiner") {
		link = link.replace(/\/falkensteiner/i, "");
	}
	return link;
}
function getLanguage() {
	return language;
}

function changeFontSize(id, isIncrease) {
	/**
	 * 1 = increase
	 * 0 = decrease
	 */

	var $obj;
	var $size;
	var $line;

	$obj = $(id);

	if ($obj) {
		$size = $obj.getStyle('font-size');
		$line = $obj.getStyle('line-height');
		if (isIncrease) {
			$size = $size = parseFloat($size) + 1;
			$line = $line = parseFloat($line) + 2;
		}
		else {
			$size = $size = parseFloat($size) - 1;
			$line = $line = parseFloat($line) - 2;
		}
		if (($size < 10) || ($size > 16)) {
			return false;
		}
		$size = $size + "px";
		$line = $line + "px";
		$obj.setStyle("font-size: " + $size);
		$obj.setStyle("line-height: " + $line);
		return true;
	}
	else {
		return false;
	}
}
function JumpBottom() {
	window.scrollTo(0, 100000);
}