function Init() {
	Sportpuls = new Object();
	
	// config
	Sportpuls.Pages = {
		/*  1 */ Home : ['tStrasse.jpg', 's2Laeufer.jpg'],
		/*  2 */ PersonalTraining : ['tLaufschuh.jpg', 'sLaufhose.jpg'],
		/*  3 */ PersonalTraining_Vorteile : ['tUebung.jpg', 'sBein.jpg'],
		/*  4 */ PersonalTraining_Portrait : ['t3388.jpg', 'sPortrait.jpg'],
		/*  5 */ PersonalTraining_Leistung : ['tPolaruhr.jpg', 'sLimetten.jpg'],
		/*  6 */ Angebot : ['tSpiegel.jpg', 'sFuss.jpg'],
		/*  7 */ Angebot_Sportarten : ['tKlettern.jpg', 'sNummer.jpg'],
		/*  8 */ Angebot_Betreuung : ['tLaufen.jpg', 'sFlasche.jpg'],
		/*  9 */ Firmenfitness : ['tFirma.jpg', 'sSprung.jpg'],
		/* 10 */ Firmenfitness_Seminare : ['tGras.jpg', 'sJogger.jpg'],
		/* 11 */ Ernaehrung : ['tMandarinen.jpg', 'sBananen.jpg'],
		/* 12 */ Links : ['tJogger.jpg', 'sWiese.jpg'],
		/* 13 */ Kontakt : ['tSchatten.jpg', 'sJK.jpg'],
		/* 14 */ Impressum : ['tStrasse.jpg', 's2Laeufer.jpg'],
		/* 15 */ Impressum_AGB : ['tStrasse.jpg', 's2Laeufer.jpg']
	}
	
	
	// pages property setup
	for (var p in Sportpuls.Pages) {
		var isep = p.indexOf('_');
		    base = isep > 0 ? p.substr(0, isep) : p;
		Sportpuls.Pages[p].Content = document.getElementById (p);
		Sportpuls.Pages[p].TopLink = document.getElementById ('lnk' + base);
		Sportpuls.Pages[p].SideMenu = document.getElementById ('menu' + base);
		Sportpuls.Pages[p].SideLink = document.getElementById ('slnk' + p);
	}
	
	// img preloading
	for (var p in Sportpuls.Pages) for (i = 0; i < 2; i++) {
		var img = new Image();
		img.src = 'img/' + Sportpuls.Pages[p][i];
		Sportpuls.Pages[p][i ? 'Side' : 'Top'] = img;
	}
	
	// img container
	Sportpuls.ImgLayer = {
		TopBack : document.getElementById ('top1'),
		TopFront : document.getElementById ('top2'),
		SideBack : document.getElementById ('side1'),
		SideFront : document.getElementById ('side2')
	}
	
	// show mapped images
	Sportpuls.SetImages = function (p) {
		this.ImgLayer.TopFront.style.backgroundImage =
			'url(' + this.Pages[p].Top.src + ')';
		this.ImgLayer.SideFront.style.backgroundImage =
			'url(' + this.Pages[p].Side.src + ')';
	}
	
	// goto page
	Sportpuls.GoTo = function (p) {
		location.href = '#' + p;
		this.SetMenu (p);
		this.FadeIn (0);
		this.SetImages (p);
		if ("Kontakt" == p) {
			var img = new Image();
			img.src = "http://www.googleadservices.com/pagead/conversion/1027380309/?value=25.0&label=SRF3CMvMmAEQ1ajy6QM&guid=ON&script=0";
		}		
	}
	
	// maintain menu
	Sportpuls.Current = Sportpuls.Pages.Home;
	Sportpuls.SetMenu = function (p) {
		if (this.Current.TopLink)
			this.Current.TopLink.className = '';
		if (this.Current.SideMenu)
			this.Current.SideMenu.style.display = '';
		if (this.Current.SideLink)
			this.Current.SideLink.className = '';
		
		this.Current = this.Pages[p];
		
		if (this.Current.TopLink)
			this.Current.TopLink.className = 'active';
		if (this.Current.SideMenu)
			this.Current.SideMenu.style.display = 'block';
		if (this.Current.SideLink)
			this.Current.SideLink.className = 'active';
	}

	// crossfade
	Sportpuls.Timer = null;
	Sportpuls.FadeIn = function (opacity) {
		if (this.Timer)
			clearTimeout(this.Timer);
		this.SetOpacity (this.ImgLayer.TopFront, opacity);
		this.SetOpacity (this.ImgLayer.SideFront, opacity);
		if (opacity < 100)
			this.Timer = setTimeout ('Sportpuls.FadeIn(' + (opacity+10) + ')', 50);
		else
		{
			this.ImgLayer.TopBack.style.backgroundImage =
				this.ImgLayer.TopFront.style.backgroundImage;
			this.ImgLayer.SideBack.style.backgroundImage =
				this.ImgLayer.SideFront.style.backgroundImage;
		}
	}
	
	Sportpuls.SetOpacity = function (oElem, opacity) {
		oElem.style.filter = "alpha(opacity:" + opacity + ")";
		oElem.style.KHTMLOpacity = opacity/100;
		oElem.style.MozOpacity = opacity/100;
		oElem.style.opacity = opacity/100;
	}
	
	
	// no spam mailing
	Sportpuls.Mail = function () {
		var domain = 'sportpuls.de',
			name = 'info';
		open ('mailto:' + name + '@' + domain, '_self');
	}
	
	
	// vcf download
	Sportpuls.VCF = function () {
		open ('jk.vcf', '_self');
	}
	
	
	// label highlighting
	var labels = document.getElementsByTagName ('LABEL');
	for (var i = 0; i < labels.length; i++) {
		var label = labels[i],
			input = document.getElementById (labels[i].htmlFor);
	
		label.Label = input.Label = label;
	
		label.onmouseover =	input.onmouseover =
			function () {this.Label.style.color = 'black'};
		label.onmouseout = input.onmouseout =
			function () {this.Label.style.color = ''};
	}
	
	
	// IE6 mouseover patch (FUCK M$, erst Netscape kaputtmachen und dann 5 Jahre lang den eigenen Browser vergammeln lassen)
	var menu = document.getElementById ('Menu');
	for (var i = 0; i < menu.childNodes.length; i++) {
		var node = menu.childNodes[i];
		if (node.tagName == 'A') {
			node.onmouseover = function () {this.style.color = 'black'};
			node.onmouseout = function () {this.style.color = ''};
		}
	}
	
	// eval params
	if (location.href.indexOf ('#') > 0)
		Sportpuls.GoTo(location.href.substr(location.href.indexOf ('#') + 1));
		
}
