﻿/* Set height of different elements */
function setHeight(sObject, sObject_small, iMinus) {
    var aElement = $(sObject);
    sNewHeight = 0;
    for (i=0; i<aElement.length; i++) {
        if(sNewHeight < aElement[i].offsetHeight)
        sNewHeight = aElement[i].offsetHeight;
    }
    $(sObject).css("height",sNewHeight+"px");
    if(sObject_small != "") {
        $(sObject_small).css("height", sNewHeight - iMinus+"px");
    }
}
/* SET / GET Cookies */
jQuery.fn.setCookie = function(name, size, domain, expires, path, secure){
    var cook = name + "=" + unescape(size);
    cook += (domain) ? "; domain=" + domain : "";
    cook += (expires) ? "; expires=" + expires : "";
    cook += (path) ? "; path=" + path : "";
    cook += (secure) ? "; secure" : "";
    document.cookie = cook;
  }
  jQuery.fn.getCookie = function(name){ 
    var i=0;  //search in Cookie
    var search = name + "=";
    while (i<document.cookie.length){
      if (document.cookie.substring(i, i + search.length) == search) {
         var end = document.cookie.indexOf("; ", i + search.length);
         end = (end > 0) ? end : document.cookie.length;
         var cook = document.cookie.substring(i + search.length, end);
         return unescape(cook);
      }
      i++;
    }
    return "";
  }
/* Function for the Branch-Finder Stage */
// Variablen
var branchRegionActive = false;
var currentBranchID;
// Diese Funktion wird aufgerufen wenn der Nutzer auf das gewünschte Kontinent klickt, dabei wird der entsprechende Layer angezeigt
// Wird durch den folgenden Event-Handler aufgerufen: onClick
function showLinkbox(id) {
    $('.linklayer').fadeOut('fast');
    // Tooltip Handling
    $('div#tooltip').removeClass('tooltip_branchfinder_'+currentBranchID).hide();
    $('div#tooltip').unbind('click');
    
    $('div#blocklayer').fadeTo('fast',0.1);
    
    // Hier wird die Positionierung des Layers bestimmt
    // In diesem Block die Breite
    sWidth = parseInt($('div#'+id).width());
    sLeft = (960-sWidth)/2;
    $('div#'+id).css('left',sLeft);
    
    // In diesem Block die Höhe    
    sHeight = parseInt($('div#'+id).height());
    sTop = (600-sHeight)/2;
    $('div#'+id).css('top',sTop);
    
    $('div#'+id).fadeTo("fast",0.8);
    var branchRegionActive = false;
    
}
// Zeigt eine Region, incl. Tooltip an; wird bei mouseenter einer region aufgerufen
function showRegion(id, e) {
    // Falls eine andere region noch aktiv ist
    if(branchRegionActive == true)
    {
        // Verstecke diese zunächst
        hideRegion(currentBranchID);
    }
    // Zeige Region
    $('img#'+id).show();
    boxid = id.replace("Img","Box");
    // Binde und Zeige Tooltip
    $('div#tooltip td.content').html($('div#'+boxid+' h2').html());
    $('div#tooltip').addClass('tooltip_branchfinder_'+id).show();
    $('div#tooltip').click(function(){
        showLinkbox(boxid);
    });
    // Setze noch Variablen
    currentBranchID = id;
    branchRegionActive = true;
}
// Blendet eine Region mitsamt Tooltip wieder auf; wird bei mouseleave einer region aufgerufen
function hideRegion(id, e){
    // MovedFrom
    if(isset(e))
    {
        var movedFrom = (window.event) ? e.srcElement : e.target;
        var movedTo = (window.event) ? e.toElement : e.relatedTarget;
        
        /* Nur in bestimmten Fällen ausblenden
        1. Wenn Ziel nicht Tooltip ist
        2. Wenn Ziel nicht mapimage ist(for IE)
        3. Wenn Ziel nicht ein anderes Img ist
        4. Wenn Ziel nicht leer ist */
        if( (movedTo.id != 'tooltip') && (movedTo.id != 'mapimage') && (movedTo.id != 'Img#'+id) && (movedTo.id != '') )
        {
            // Verstecke
            $('Img#'+id).hide();
            $('div#tooltip').removeClass('tooltip_branchfinder_'+id).hide();
            $('div#tooltip').removeAttr("onClick");
            branchRegionActive = false;
        }
    }
}
/* Wird aufgerufen, wenn ein Tooltip verlassen wird(mouseleave)
   Wird benötigt im Sonderfall, wenn Tooltip groesser als Region */
function hideTooltip(e){
    // Falls eine Region active is
    if(branchRegionActive)
    {
        // Verstecke diese
        $('Img#'+currentBranchID).hide();
        $('div#tooltip').removeClass('tooltip_branchfinder_'+currentBranchID).hide();
        branchRegionActive = false;
    }
}
/* Function for the Career-Map */
// Variablen
var careerRegionActive = false;
var currentCareerID;
// Zeigt eine Region, incl. Tooltip an; wird bei mouseenter einer region aufgerufen
function showCareerRegion(area, id, tooltip, e){
    // Falls eine andere region noch aktiv ist
    if(careerRegionActive == true)
    {
        // Verstecke diese zunächst
        hideCareerRegion(currentCareerID);
    }
    // Zeige Region
    $('img#'+id).show();
    
    // Url
    url = $(area).attr("href");
    // Binde und Zeige Tooltip
    $('div#tooltip td.content').html(tooltip);
    $('div#tooltip').addClass('tooltip_careermap_'+id).show();
    $('div#tooltip').click(function(){
        window.location.href = url;
    });
    // Setze noch Variablen
    currentCareerID = id;
    careerRegionActive = true;
}
// Blendet eine Region mitsamt Tooltip wieder auf; wird bei mouseleave einer region aufgerufen
function hideCareerRegion(id, e){
    // MovedFrom
    if(isset(e))
    {
        var movedFrom = (window.event) ? e.srcElement : e.target;
        var movedTo = (window.event) ? e.toElement : e.relatedTarget;
        
        /* Nur in bestimmten Fällen ausblenden
        1. Wenn Ziel nicht Tooltip ist
        2. Wenn Ziel nicht mapimage ist(for IE)
        3. Wenn Ziel nicht ein anderes Img ist
        4. Wenn Ziel nicht leer ist */
        if( (movedTo.id != 'tooltip') && (movedTo.id != 'mapimage') && (movedTo.id != 'Img#'+id) && (movedTo.id != '') )
        {
            // Verstecke
            $('Img#'+id).hide();
            $('div#tooltip').removeClass('tooltip_careermap_'+id).hide();
            $('div#tooltip').removeAttr("onClick");
            careerRegionActive = false;
        }
    }
}
/* Wird aufgerufen, wenn ein Tooltip verlassen wird(mouseleave)
   Wird benötigt im Sonderfall, wenn Tooltip groesser als Region */
function hideCareerTooltip(e){
    // Falls eine Region active is
    if(careerRegionActive)
    {
        // Verstecke diese
        $('Img#'+currentCareerID).hide();
        $('div#tooltip').removeClass('tooltip_careermap_'+currentCareerID).hide();
        careerRegionActive = false;
    }
}
function hideLayer(){
    $('.linklayer').fadeOut('fast'); // Layer wird samt Inhalt ausgeblendet
    $('#blocklayer').toggle();
    $('.overlayimg').css('display','none');
}
// Prüft, ob eine Variable gesetzt ist
function isset(variable_name){
    try
    {
        if (typeof(eval(variable_name)) != 'undefined')
        if (eval(variable_name) != null)
        return true;
    }catch(e) { }
    
    return false;
}
