/* 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;
}

