﻿
/* Header Banner und Welten Wechsler */


/*******************************************************************************************/
/*  Welten Stammdaten            */
/*******************************************************************************************/
/* Scripts für das Wechseln des Headers auf der Startseite */
var activeWeltNr = 0; // Brands
var wechselWeltTimeout = 5000; // Milliseconds bis zum nächsten automatischen Wechsel

// wechselt zum aktuelle aktiven Header-Link
function gotoWeltLocation() {
    var activeDiv = document.getElementById('welt_' + activeWeltNr);
    var href = activeDiv.getAttribute("href");
    document.location = href;
}
/*******************************************************************************************/
/*  Welten Ueberblendung mit Opacity            */
/*******************************************************************************************/
var millisecWelt = 1000; // Ueberblendungsdauer
var shiftWeltInprogress = false;

function weltenAutoChange(maxNr) {
    var nextNr = activeWeltNr;
    nextNr++;
    if (nextNr > maxNr) nextNr = 0; // letzte Nummer (0=Brands)
    shiftWeltenByOpacity(nextNr);
    setTimeout("weltenAutoChange(" + maxNr + ")", wechselWeltTimeout);
}

function shiftWeltenByOpacity(nummer) {
    //alert('shiftWeltenByOpacity ' + nummer + ' / ' + shiftWeltInprogress + ' / ' + activeWeltNr);
    if (!shiftWeltInprogress && nummer != activeWeltNr) {
        shiftWeltInprogress = true;
        // Referenzen auf alte und neue objects
        var activeDiv = document.getElementById('welt_' + activeWeltNr);
        var newDiv = document.getElementById('welt_' + nummer);

        // altes aus- und Neues einblenden    
        if (newDiv != null) {
            shiftOpacity(newDiv.id, millisec);
            if (activeDiv != null) shiftOpacity(activeDiv.id, millisecWelt);
        }
        activeWeltNr = nummer;
    }
}



/*******************************************************************************************/
/*  Header Stammdaten            */
/*******************************************************************************************/
/* Scripts für das Wechseln des Headers auf der Startseite */
var activeHbNr = 1;
var wechselTimeout = 5000; // Milliseconds bis zum nächsten automatischen Wechsel

function headerAutoChange(maxNr) {
    var nextNr = activeHbNr;
    nextNr++;
    if (nextNr > maxNr) nextNr = 1;
    shiftHeaderByOpacity(nextNr);
    setTimeout("headerAutoChange(" + maxNr + ")", wechselTimeout);
}

// wechselt zum aktuelle aktiven Header-Link
function gotoHeaderLocation() {
    var activeDiv = document.getElementById('hb_' + activeHbNr);
    var target = activeDiv.getAttribute("target");
    var href = activeDiv.getAttribute("href");
    if (target != null && target.length > 0) 
        window.open(href); // zur Zeit nur _blank unterstützt
    else
        document.location = href;

    var bannerName = activeDiv.getAttribute('name');
    _gaq.push(['Startseitebanner', 'Navigate', bannerName, '']);
    //alert('send data:'+'Startseitebanner,Navigate,'+bannerName+',');
}

/*******************************************************************************************/
/*  Header Wechsel mit Ein- Ausblenden            */
/*******************************************************************************************/
function shiftHeaderByOnOff(nummer) {
    if (nummer != activeHbNr) {
        // Referenzen auf alte und neue objects
        var activeDiv = document.getElementById('hb_' + activeHbNr);
        var activeNav = document.getElementById('hbnav_' + activeHbNr);
        var newDiv = document.getElementById('hb_' + nummer);
        var newNav = document.getElementById('hbnav_' + nummer);

        // altes aus- und Neues einblenden    
        if (newDiv != null && newNav != null) {
            newDiv.style.display = 'block';
            newNav.className = 'sh-nav-active';
            if (activeDiv != null) activeDiv.style.display = 'none';
            if (activeNav != null) activeNav.className = "sh-nav";
        }
        activeHbNr = nummer;
    }
}

/*******************************************************************************************/
/*  Header Ueberblendung mit Opacity            */
/*******************************************************************************************/
var millisec = 1000; // Uberblendungsdauer
var shiftInprogress = false;

function shiftHeaderByOpacity(nummer, immediate) {
    if (!shiftInprogress && nummer != activeHbNr) {
        shiftInprogress = true;
        var msecs = millisec;
        if (immediate) msecs = 0;
        // Referenzen auf alte und neue objects
        var activeDiv = document.getElementById('hb_' + activeHbNr);
        var activeNav = document.getElementById('hbnav_' + activeHbNr);
        var newDiv = document.getElementById('hb_' + nummer);
        var newNav = document.getElementById('hbnav_' + nummer);

        // altes aus- und Neues einblenden    
        if (newDiv != null && newNav != null) {
            shiftOpacity(newDiv.id, msecs);
            newNav.className = "sh-nav-active";
            if (activeDiv != null) shiftOpacity(activeDiv.id, msecs);
            if (activeNav != null) activeNav.className = "sh-nav";
        }
        activeHbNr = nummer;
    }
}


/*******************************************************************************************/
/*  allgemeine Funktionen            */
/*******************************************************************************************/


//if an element is invisible, make it visible, else make it invisible
function shiftOpacity(id, millisec) {
    var c = document.getElementById(id);
    if (c != null) {
        if (c.style.opacity == 0) {
            if (millisec == 0)
                changeOpac(100, id, true);
            else
                opacity(id, 0, 100, millisec);
        } else {
            if (millisec == 0)
                changeOpac(0, id, true);
            else
                opacity(id, 100, 0, millisec);
        }
    }
}

// change Opacity slowly
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame 
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens 
    if (opacStart > opacEnd) {
        for (i = opacStart; i >= opacEnd; i--) {
            if (i > opacEnd)
                setTimeout("changeOpac(" + i + ",'" + id + "',false)", (timer * speed));
            else
                setTimeout("changeOpac(" + i + ",'" + id + "',true)", (timer * speed));
            timer++;
        }
    } else if (opacStart < opacEnd) {
        for (i = opacStart; i <= opacEnd; i++) {
            if (i < opacEnd)
                setTimeout("changeOpac(" + i + ",'" + id + "',false)", (timer * speed));
            else
                setTimeout("changeOpac(" + i + ",'" + id + "',true)", (timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers 
function changeOpac(opacity, id, end) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
    if (end) {
        if (id.indexOf('welt') >= 0) {
            shiftWeltInprogress = false;
            setCookie("weltNr", activeWeltNr);
        } else {
            shiftInprogress = false;
            setCookie("HbNr", activeHbNr);
        }
    }
}

/**************************************/
/*  Cookies lesen und schreiben */
/**************************************/
function getCookie(sName) {
    var myValue = null;
    if (document.cookie) {
        // cookies are separated by semicolons
        var cookies = document.cookie.split("; ");
        for (var i = 0; i < cookies.length; i++) {
            // a name/value pair (a crumb) is separated by an equal sign
            var aCrumb = cookies[i].split("=");
            if (sName == aCrumb[0]) {
                myValue = unescape(aCrumb[1]);
                break;
            }
        }
    }
    return myValue;
}

function setCookie(sName, myValue) {
    if (sName != null && sName != '') {
        var date = new Date();
        date.setHours(date.getHours() + 1);
        document.cookie = sName + "=" + escape(myValue) + "; expires=" + date.toGMTString();
    }
}
