/*** dsv6-JS | Apphead ohne jQuery (C) Stefan Mateescu / Taurus IT GmbH <stm@taurus-it.de> ***/

var dsv_animation_step = 20;
var dsv_animation_waitfactor = 0.666;
var dsv_globalHideLayerTimeoutPH = 250;

if (document.all) {
	dsv_animation_step = 30;
	dsv_animation_waitfactor = 0.333;
}

function dsv_showHeaderPopup(popupElement) {
	dsv_hideAllotherPopups(popupElement);
	eval("if (typeof timeout_"+popupElement+" != 'undefined' && timeout_"+popupElement+" != -1) clearTimeout(timeout_"+popupElement+");");
	var linkId = "dsv_portalhead_link_"+popupElement;
	var popupId = "dsv_portalhead_popup1_"+popupElement;
	if (document.getElementById(popupId).style.display == "block")
		return;
	document.getElementById(popupId).style.opacity = 0.01;
	document.getElementById(popupId).style.filter = 'alpha(opacity = 1)';
	document.getElementById(popupId).style.position = 'absolute';
	document.getElementById(popupId).style.display = 'block';
	document.getElementById(popupId).style.visibility = 'visible';
	document.getElementById(popupId).style.height = 'auto';
	var h = document.getElementById(popupId).clientHeight;
	var w = document.getElementById(popupId).clientWidth;
	var leftPos = 0;
	if (dsv_hasClass(document.getElementById(popupId), 'dsv_portalhead_popup11')) {
		var oLeft = document.getElementById(linkId).offsetLeft;
		if (document.getElementById('dsv_portalhead_link_Direktzu').offsetLeft<100)
			oLeft += 220;
		leftPos = oLeft-8;
	}
	if (dsv_hasClass(document.getElementById(popupId), 'dsv_portalhead_popup2') || dsv_hasClass(document.getElementById(popupId), 'dsv_portalhead_popup3')) {
		leftPos = 760+228-w+7+1+4;
	}
	if (document.all) {
		dsv_addClass(document.getElementById(popupId), 'dsv_portalhead_floatingbox_iefix');
	}
	document.getElementById(popupId).style.top = '20px';
	document.getElementById(popupId).style.left = (leftPos)+'px';
	document.getElementById(popupId).style.overflow = 'hidden';
	document.getElementById(popupId).style.height = '1px';
	dsv_doAnimation(popupId, {height:1, opacity:0.01}, {height:h, opacity:1}, 'dsv_showHeaderPopup_ieFix("'+popupId+'")', 0, 300);
}

function dsv_showHeaderPopup_ieFix(popupId) {
	if (document.all) {
		document.getElementById(popupId).style.filter = '';
		dsv_removeClass(document.getElementById(popupId), 'dsv_portalhead_floatingbox_iefix');
	}
}

function dsv_hideHeaderPopup(popupElement) {
	var popupId = "dsv_portalhead_popup1_"+popupElement;
	eval("timeout_"+popupElement+" = setTimeout('dsv_hideHeaderPopup2(\\''+popupElement+'\\')', dsv_globalHideLayerTimeoutPH);");
}

function dsv_hideHeaderPopup2(popupElement) {
	var popupId = "dsv_portalhead_popup1_"+popupElement;
	eval("timeout_"+popupElement+" = -1;");
	if (document.all) {
		dsv_addClass(document.getElementById(popupId), 'dsv_portalhead_floatingbox_iefix');
	}
	dsv_doAnimation(popupId, {opacity:1}, {opacity:0.01}, 'dsv_hideHeaderPopup_ieFix("'+popupId+'")', 0, 200);
}

function dsv_hideHeaderPopup_ieFix(popupId) {
	document.getElementById(popupId).style.display = 'none';
	if (document.all) {
		document.getElementById(popupId).style.filter = '';
		dsv_removeClass(document.getElementById(popupId), 'dsv_portalhead_floatingbox_iefix');
	}
}

function dsv_hideAllotherPopups(popupElement) {
	var popupId = "dsv_portalhead_popup1_"+popupElement;
	var elems = document.body.childNodes;
	for (var i=0;i<elems.length;i++) {
		if (typeof elems[i].id == "string" && elems[i].id != popupId && dsv_hasClass(elems[i], 'dsv_portalhead_popup1')) {
			document.getElementById(elems[i].id).style.display = 'none';
			document.getElementById(elems[i].id).style.visibility = 'hidden';
		}
	}
}

function dsv_toggleHeader() {
	document.getElementById('dsv_portalhead_logopicnavigator').style.overflow = 'hidden';
	var actState = document.getElementById('dsv_portalhead_logopicnavigator').style.display;
	if (actState!="none") {
		document.getElementById('dsv_portalhead_imgHeaderOpenClose').src = document.getElementById('dsv_portalhead_imgHeaderOpenClose_osrc').src;
		document.cookie = 'dsv5HeaderState=closed';
		dsv_doAnimation('dsv_portalhead_logopicnavigator', {height:75, opacity:1}, {height:1, opacity:0.01}, 'dsv_toggleHeaderFinish1()', 0, 300);
	}
	else {
		document.getElementById('dsv_portalhead_imgHeaderOpenClose').src = document.getElementById('dsv_portalhead_imgHeaderOpenClose_csrc').src;
		document.cookie = 'dsv5HeaderState=open';
		document.getElementById('dsv_portalhead_logopicnavigator').style.display='block';
		dsv_doAnimation('dsv_portalhead_logopicnavigator', {height:1, opacity:0.01}, {height:75, opacity:1}, false, 0, 300);
	}
}

function dsv_toggleHeaderFinish1() {
	document.getElementById('dsv_portalhead_logopicnavigator').style.display='none';
}

function dsv_doAnimation(element, startParams, endParams, functionOnFinish, step, duration) {
	if (document.getElementById(element).style.display=="none")
		return;
	var steps = parseInt(duration/dsv_animation_step);
	for (var k in startParams) {
		var v = startParams[k];
		if (k=="height") {
			var dir = endParams.height>startParams.height ? 1:-1;
			var val = startParams.height + (Math.abs((endParams.height-startParams.height)*step/steps) * dir);
			document.getElementById(element).style.height = val+"px";
		}
		if (k=="opacity") {
			var dir = endParams.opacity>startParams.opacity ? 1:-1;
			var val = startParams.opacity + (Math.abs((endParams.opacity-startParams.opacity)*step/steps) * dir);
			if (document.all) {
				document.getElementById(element).style['filter'] = "alpha(opacity = "+(val*100)+")";
			}
			else {
				document.getElementById(element).style['opacity'] = val;
			}
		}
	}
	if (step<steps) {
		setTimeout(function() { dsv_doAnimation(element, startParams, endParams, functionOnFinish, step+1, duration); }, dsv_animation_step*dsv_animation_waitfactor);
	}
	else {
		if (typeof functionOnFinish == "string")
			eval(functionOnFinish);
	}
}

function dsv_hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function dsv_addClass(ele,cls) {
	if (!dsv_hasClass(ele,cls)) ele.className += " "+cls;
}

function dsv_removeClass(ele,cls) {
	if (dsv_hasClass(ele,cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function dsv_portalheadReadCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function dsv_portalhead_initLogopicnavigator() {
	if (dsv_portalheadReadCookie("dsv5HeaderState")=="closed") {
		document.getElementById('dsv_portalhead_logopicnavigator').style.display = 'none';
		document.getElementById('dsv_portalhead_imgHeaderOpenClose').src = document.getElementById('dsv_portalhead_imgHeaderOpenClose_osrc').src;
	}
}

