var vIE		= navigator.userAgent.indexOf('MSIE') != -1;
var vIE6	= navigator.userAgent.indexOf('MSIE 6') != -1;


// Javascript für "Link in Lupe"
function openparentlink(mydiv) {
	var browser = navigator.userAgent.toLowerCase();

	// Get the onclick data and extract the img's w/h!
	var vJS = String(document.getElementById(mydiv).parentNode.getElementsByTagName('a')[0].onclick);
	var vSplit = vJS.split(',');

	// ?? Ein "/' ist trotz split noch drinne ...
	if ((browser.indexOf('msie') != -1) && (browser.indexOf('opera') == -1)) {
		var vWidth = vSplit[2].replace(/'width/, 'width');
	} else {
		var vWidth = vSplit[2].replace(/"width/, 'width');
	}
	parentlink = document.getElementById(mydiv).parentNode.getElementsByTagName('a')[0];
	openPic(parentlink,'thePicture',''+vWidth+','+vSplit[3]+',status=0,menubar=0');
}


/**
 *  Javascript für "Link in Lupge"
 * 
 *  Es wird das onclick Ereignis des übergeordneten Elements aufgerufen
 *
 *  Getestet mit:
 *  - FF 2.0.16
 *  - Safari 3.0.4
 *  - IE 7.0 (ietester)
 *  - IE 6.0 (ietester)
 *  - IE 8 Beta 1 (ietester)
 */
function openPreviousLink(elem) {
	var browser = navigator.userAgent.toLowerCase();
	elem.parentNode.getElementsByTagName('a')[0].onclick();
}


/**
 *  Javascript für "Link in Lupe"
 *  Bei Bildern in der News liegen die A-Tags der Bilder auf der
 *  gleichen DOM-Ebene wie das A-Tag mit der Lupe
 *  Daher wird der nächste vorhergehende A-Tag gesucht und dort
 *  das onclick-Ereignis ausgelöst.
 *  
 */
function openPreviousNewsLink(elem) {
	// letzten vorhergehenden Link finden
	elem = elem.previousSibling;
	while (null != elem) {
		if (elem.nodeName.toLowerCase() == 'a') {
			// return openPic(elem,'thePicture',''+vWidth+','+vSplit[3]+',status=0,menubar=0');
			elem.onclick();
		}
		elem = elem.previousSibling;
	}
}

/**
 *  Javascript für "Link in Lupe"
 *  für News-Elemente
 *  Dort steht das generierte HTML hinter den Bildern,
 *  und ist nicht ein Kind davon.
 *  also gehen wir rekursiv alle vorhergehenden Elemente durch, bis
 *  wir ein a-Tag finden. Das verwenden wir dann für openPic
 *
 *  getestet mit 
 *  - FF 2.0
 *  - Safari 3.0
 *  - IE 7.0
 *  - Opera 9.26
 *  - IE 6
 */
function openparentlinkNews(mydiv) {
	var browser = navigator.userAgent.toLowerCase();

	// Get the onclick data and extract the img's w/h!
	var vJS = String(document.getElementById(mydiv).parentNode.getElementsByTagName('a')[0].onclick);
	var vSplit = vJS.split(',');

	// ?? Ein "/' ist trotz split noch drinne ...
	if ((browser.indexOf('msie') != -1) && (browser.indexOf('opera') == -1)) {
		var vWidth = vSplit[2].replace(/'width/, 'width');
	} else {
		var vWidth = vSplit[2].replace(/"width/, 'width');
	}
	// letzten vorhergehenden Link finden
	var elem = document.getElementById(mydiv).previousSibling;
	while (null != elem) {
		if (elem.nodeName.toLowerCase() == 'a') {
			return openPic(elem,'thePicture',''+vWidth+','+vSplit[3]+',status=0,menubar=0');
		}
		elem = elem.previousSibling;
	}
}


// Funktion, um das Suchfeld bei Eingabe zu löschen und zu setzen
function setSearchWord(sWord, sMode) {
	fInput = document.getElementById('suchwort');
	switch(sMode) {
		case 0:
			if (fInput.value == sWord) fInput.value = '';
		break;
		case 1:
			if (fInput.value == '') fInput.value = sWord;
		break;
	}
}


// Ausklappeffekt im Header
var dir = 0;	// Zustand des Elements nach jsEffekt : 0 = zugeklappt, 1 = aufgeklappt

function toggleDivision() {
	if (dir == 0) {
		$('divLink').className = 'up'; // CSS des Buttons ändern
		new Effect.BlindDown('division'); // DIV ausklappen
		dir = 1;
	} else {
		$('divLink').className = 'down'; // CSS des Buttons ändern
		new Effect.BlindUp('division');
		dir = 0;
	}
}

// Produkte-Silder für Startseite websolutions
var pact = 1;
var pmin = 1; // hardcoded !!!
var pmax = 2; // hardcoded !!!

function slide(dir) {
	switch(dir) {
		case 'up':
			if (pact != pmin) {
				new Effect.SlideUp('prod'+(pact), {
					afterFinish: function() {
						pact--;
						new Effect.Appear('prod'+(pact));
					}						
				});
			}
		break;
		case 'down':
			if (pact != pmax) {
				new Effect.Fade('prod'+(pact), {
					afterFinish: function() {
						pact++;
						new Effect.SlideDown('prod'+(pact));
					}						
				});
			}
		break;
	}
}


// Setzt dynamisch die Höhe des Footers
function setFooter() {
	var winHeight	= document.viewport.getHeight();
	var siteHeight	= $('page').getHeight();
	var footHeight	= winHeight-siteHeight-50; // Padding des Footers hardgecoded!
	if (footHeight > 50) {
		height = '';
		$('footer').setStyle({ height:''+footHeight+'px' });
	}
}

function getFooter() {
	if ($('footer')) setFooter();
		else setTimeout('getFooter()', 250);
}

window.onresize = function() { getFooter(); };
window.onload = function() { getFooter(); };