// -- onload scripts --
function doOnload() {
	preloadPopupImages();
}

function doHomeOnload() {
	startHomeSlideshow();
}
// -- // onload scripts --



// -- general scripts --
function getEl(id) {
	return document.getElementById(id);
}

function addCSSClass(cssClass, obj) {
	if ((' '+obj.className+' ').indexOf(' '+cssClass+' ') == -1)
		obj.className += ' '+cssClass;
}

function removeCSSClass(cssClass, obj) {
	if ((' '+obj.className+' ').indexOf(' '+cssClass+' ') != -1)
		obj.className = (' '+obj.className+' ').replace(new RegExp(' '+cssClass+' ',"g"),'');
}

function hasCSSClass(cssClass, obj) {
	return ((' '+obj.className+' ').indexOf(' '+cssClass+' ') == -1)
	? false
	: true;
}

function removeClassInContainer(cssClass, tagName, containerObj) {
	var tagList = containerObj.getElementsByTagName(tagName);
	for (var i=0; i<tagList.length; i++)
		if (tagList[i].className.indexOf(cssClass)!=-1)
			removeCSSClass(cssClass,tagList[i]);
}

function checkBrowser(browser) {
	return (navigator.userAgent.indexOf(browser)!=-1)
		? true
		: false;
}
// -- // general scripts --



// -- popup scripts --
var POPUP_DARKENER_HTML_ID = 'darken_site';
var POPUP_SCROLLBUGFIX_HTML_ID = 'scrollbugfix';
var POPUP_BOTTOM_IE6_HTML_ID = 'popup_bottom_ie6';
var POPUP_HTML_ID = 'popup';
var POPUP_IMG_HTML_ID = 'popupBild';

function preloadPopupImages() {
	for (var i=0; i<bildPreload.length; i++) {
		document.bildArr[i] = new Image();
		document.bildArr[i].src = projPath + bildPreload[i];
	}
}

function openPopup(bildNr) {
	getEl(POPUP_IMG_HTML_ID).src = document.bildArr[bildNr].src;
	getEl(POPUP_DARKENER_HTML_ID).style.display = 'block';
	getEl(POPUP_SCROLLBUGFIX_HTML_ID).style.display = 'block';
	getEl(POPUP_HTML_ID).style.display = 'block';
	if (checkBrowser('MSIE 6')) {
		tmpY = parseInt(getEl(POPUP_HTML_ID).offsetTop);
		tmpY += parseInt(getEl(POPUP_HTML_ID).offsetHeight);
		getEl(POPUP_BOTTOM_IE6_HTML_ID).style.display = 'block';
		getEl(POPUP_BOTTOM_IE6_HTML_ID).style.top = tmpY+'px';
	}
	aktBild = bildNr;
	return false;
}

function closePopup() {
	parent.getEl(POPUP_DARKENER_HTML_ID).style.display = 'none';
	parent.getEl(POPUP_SCROLLBUGFIX_HTML_ID).style.display = 'none';
	parent.getEl(POPUP_HTML_ID).style.display = 'none';
	if (checkBrowser('MSIE 6'))
		getEl(POPUP_BOTTOM_IE6_HTML_ID).style.display = 'none';
	return false;
}

function prevImg(obj) {
	obj.blur();
	tmpAktBild = aktBild-1;
	if (tmpAktBild<0) tmpAktBild = document.bildArr.length-1;
	getEl(POPUP_IMG_HTML_ID).src = document.bildArr[tmpAktBild].src;
	aktBild = tmpAktBild;
}

function nextImg(obj) {
	obj.blur();
	tmpAktBild = aktBild+1;
	tmpAktBild = tmpAktBild%document.bildArr.length;
	getEl(POPUP_IMG_HTML_ID).src = document.bildArr[tmpAktBild].src;
	aktBild = tmpAktBild;
}
// -- // popup scripts --



// -- home scripts --
var IMAGE_INTERVAL = 4800;
var IMAGE_INTERVAL_IE = 6000;
var HOME_IMG_HTML_ID_1 = 'homeBild1';
var HOME_LINK_HTML_ID_1 = 'homeLink1';
var HOME_IMG_HTML_ID_2 = 'homeBild2';
var HOME_LINK_HTML_ID_2 = 'homeLink2';
var HOME_VISUALNAVI_HTML_ID = 'visualnavi';
var HOME_VISUALNAVI_ACTIVE_CLASS = 'active';
var HOME_VISUALNAVI_BLANK_URL = 'images/blank.gif';
var HOME_VISUALNAVI_ANIM_URL_START = 'images/visualnavi_animation_ie_';
var HOME_VISUALNAVI_ANIM_URL_END = '.gif';

function HomeImage(filename, url) {
	this.filename = filename;
	this.url = url;
}

function startHomeSlideshow() {
	for (var i=0; i<bildPreload.length; i++) {
		document.bildArr[i] = new Image();
		document.bildArr[i].src = projPath + bildPreload[i].filename;
	}
	showFirstHomeImgOnLoad();
	
	if (checkBrowser('MSIE'))
		timer = window.setInterval('showNextHomeImg();', IMAGE_INTERVAL_IE);
	else
		timer = window.setInterval('showNextHomeImg();', IMAGE_INTERVAL);
}

function showFirstHomeImgOnLoad() {
	activateHomeImgWithAnimation(aktHomeBild);
}

function showNextHomeImg() {
	tmpAktHomeBild = aktHomeBild+1;
	tmpAktHomeBild = tmpAktHomeBild%document.bildArr.length;
	activateHomeImgWithAnimation(tmpAktHomeBild);
	aktHomeBild = tmpAktHomeBild;
}

function setHomeImgManually(obj, bildNr) {
	window.clearInterval(timer);
	obj.blur();
	activateHomeImg(bildNr);
}

function activateHomeImgWithAnimation(bildNr) {
	activateHomeImg(bildNr);
	if (checkBrowser('MSIE'))
		getEl(HOME_VISUALNAVI_HTML_ID).getElementsByTagName('a')[bildNr].getElementsByTagName('img')[0].src = HOME_VISUALNAVI_ANIM_URL_START + bildNr + HOME_VISUALNAVI_ANIM_URL_END;
	else
	addCSSClass(HOME_VISUALNAVI_ACTIVE_CLASS, getEl(HOME_VISUALNAVI_HTML_ID).getElementsByTagName('a')[bildNr]);
}

function activateHomeImg(bildNr) {
	if (checkBrowser('MSIE'))
		for (var i=0; i<document.bildArr.length; i++)
			getEl(HOME_VISUALNAVI_HTML_ID).getElementsByTagName('a')[i].getElementsByTagName('img')[0].src = HOME_VISUALNAVI_BLANK_URL;
	else
	removeClassInContainer(HOME_VISUALNAVI_ACTIVE_CLASS, 'a', getEl(HOME_VISUALNAVI_HTML_ID));
	
	homeLinkZIndex_1 = parseInt($("#"+HOME_LINK_HTML_ID_1).css("z-index"));
	homeLinkZIndex_2 = parseInt($("#"+HOME_LINK_HTML_ID_2).css("z-index"));
	
	if (homeLinkZIndex_1 < homeLinkZIndex_2) {
		$("#"+HOME_LINK_HTML_ID_1+" img").css("visibility", "hidden");
		$("#"+HOME_LINK_HTML_ID_1+" img").fadeTo(0, 0);
		getEl(HOME_LINK_HTML_ID_1).style.zIndex = homeLinkZIndex_2 + 1;
		getEl(HOME_IMG_HTML_ID_1).src = document.bildArr[bildNr].src;
		getEl(HOME_LINK_HTML_ID_1).href = bildPreload[bildNr].url;
		$("#"+HOME_LINK_HTML_ID_1+" img").css("visibility", "visible");
		$("#"+HOME_LINK_HTML_ID_1+" img").fadeTo("slow", 1);
	}
	else if (homeLinkZIndex_2 < homeLinkZIndex_1) {
		$("#"+HOME_LINK_HTML_ID_2+" img").css("visibility", "hidden");
		$("#"+HOME_LINK_HTML_ID_2+" img").fadeTo(0, 0);
		getEl(HOME_LINK_HTML_ID_2).style.zIndex = homeLinkZIndex_1 + 1;
		getEl(HOME_IMG_HTML_ID_2).src = document.bildArr[bildNr].src;
		getEl(HOME_LINK_HTML_ID_2).href = bildPreload[bildNr].url;
		$("#"+HOME_LINK_HTML_ID_2+" img").css("visibility", "visible");
		$("#"+HOME_LINK_HTML_ID_2+" img").fadeTo("slow", 1);
	}
}
// -- // home scripts
