/*** 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 = (document.getElementById('dsv_portalhead_container').offsetTop + 20)+'px';
    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_showHeaderPopupKdcdb(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_Impressum').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 = (document.getElementById('dsv_portalhead_container').offsetTop + 20)+'px';
    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;
    }
}


