// --------------------------------------------------------------
function Cookie(name) {
    this.name = name;
    this.value = loadCookieData(name);
    this.expires = new Date().getTime();
    this.domain = null;
    this.path = null;
}

// Setzen des Verfallsdatums
Cookie.prototype.setExpires = function(timestamp) {
    this.expires = timestamp;
}

// Setzen des Pfades
Cookie.prototype.setPath = function(path) {
    this.path = path;
}

// Setzen der Domain
Cookie.prototype.setDomain = function(domain) {
    this.domain = domain;
}

// Auslesen des Wertes
Cookie.prototype.getValue = function() {
    return this.value;
}

// Liefert die Wertezeichenkette des Cookies
Cookie.prototype.getParamString = function() {
    return this.paramString;
}

// Die Wertezeichenkette speichern
Cookie.prototype.setValue = function(value) {
    this.value = value;
}

// Cookie entfernen
Cookie.prototype.remove = function() {
    this.expires = new Date().getTime();
    this.data = new CookieData();
    this.send();
}

// Setzen des Cookies im Browser
Cookie.prototype.send = function() {
    document.cookie = this.name + "=" + escape(this.value) + "; expires=" + new Date(this.expires).toGMTString() + (this.path ? "; path=" + this.path : "") + (this.domain ? "; domain=" + this.domain : "");
}

// --------------------------------------------------------------

function loadCookieData(cookieName) {
    var a = document.cookie.split("; ");
    for (var i = 0; i < a.length; i++) {
        var kv = a[i].split('=');
        if (kv[0] == cookieName) {
            return unescape(kv[1]);
        }
    }
    return null;
}

// --------------------------------------------------------------

function getParameters(paramString) {
    var params = new Array();
    var url = "?" + paramString;
    var paramsStart = url.indexOf("?");
    var hasMoreParams = true;
    if (paramsStart != -1) {
        var paramString = url.substr(paramsStart + 1);
        var params = paramString.split("&");
        for (var i = 0 ; i < params.length ; i++) {
            var pairArray = params[i].split("=");
            if (pairArray.length == 2){
                params[pairArray[0]] = pairArray[1];
            }
        }
        return params;
    }
    return null;
}

// --------------------------------------------------------------

var eonStyle = new Cookie("eonStyle");
var ergFontClass = "sizesmall";
var eonUpshrink = new Cookie("eonUpshrink")
var ergUpshrink = "open";

function SetFontSize(){
    ergFontClass = eonStyle.getValue();
    var ergFontSize;
    switch (ergFontClass) {
        case "sizesmall":
            ergFontClass = "sizesmall";
            ergFontSize = '1em';
            break;
        case "sizemedium":
            ergFontClass = "sizemedium";
            ergFontSize = '1.125em';
            break;
        case "sizelarge":
            ergFontClass = "sizelarge";
            ergFontSize = '1.25em';
            break;
        default:
            if (ergFontClass == null) {
                ergFontClass = "sizesmall";
                ergFontSize = '1em';
            } else if (ergFontClass.indexOf("sizemedium") >= 0) {
                ergFontClass = "sizemedium";
                ergFontSize = '1.125em';
            } else if (ergFontClass.indexOf("sizelarge") >= 0) {
                ergFontClass = "sizelarge";
                ergFontSize = '1.25em';
            } else {
                ergFontClass = "sizesmall";
            }
            writeCookie();
            break;
    }
    SetActiveLink(ergFontClass);
    document.body.style.fontSize = ergFontSize;
    document.body.className = ergFontClass;
}

function writeCookie() {
    var lifetime = 1000 * 60 * 60 * 24 * 365;
    var now = new Date();
    eonStyle.setExpires(new Date(now.getTime() + lifetime).toGMTString());
    eonStyle.setPath("/");
    eonStyle.setValue(ergFontClass);
    eonStyle.send();
    eonUpshrink.setExpires(new Date(now.getTime() + lifetime).toGMTString());
    eonUpshrink.setPath("/");
    eonUpshrink.setValue(ergUpshrink)
    eonUpshrink.send();
}

function SwitchFontSize(fontSize, fontClass) {
    return SetFontClass(fontClass);
}

function SetFontClass(fontClass){
    var ergFontSize;
    switch (fontClass) {
        case "sizesmall":
            ergFontClass = "sizesmall";
            ergFontSize = '1em';
            break;
        case "sizemedium":
            ergFontClass = "sizemedium";
            ergFontSize = '1.125em';
            break;
        case "sizelarge":
            ergFontClass = "sizelarge";
            ergFontSize = '1.25em';
            break;
        default:
            return false;
    }
    writeCookie();
    if (ergFontClass == loadCookieData("eonStyle")) {
        document.body.style.fontSize = ergFontSize;
        document.body.className = ergFontClass;
        SetActiveLink(ergFontClass);
        return false;
    } else {
        return true;
    }
}

function SetActiveLink(ergFontClass) {
    if (document.getElementById("FontSizeSmall") != null) document.getElementById("FontSizeSmall").style.color = "#840201";
    if (document.getElementById("FontSizeMedium") != null) document.getElementById("FontSizeMedium").style.color = "#840201";
    if (document.getElementById("FontSizeLarge") != null) document.getElementById("FontSizeLarge").style.color = "#840201";
    switch (ergFontClass) {
        case "sizesmall":
            if (document.getElementById("FontSizeSmall") != null) document.getElementById("FontSizeSmall").style.color = "#ffffff";
            break;
        case "sizemedium":
            if (document.getElementById("FontSizeMedium") != null) document.getElementById("FontSizeMedium").style.color = "#ffffff";
            break;
        case "sizelarge":
            if (document.getElementById("FontSizeLarge") != null) document.getElementById("FontSizeLarge").style.color = "#ffffff";
            break;
        default:
            break;
    }
}
// --------------------------------------------------------------
// Servicebox
// --------------------------------------------------------------
var current_mode = true;
function SetshrinkHeader(mode) {
    current_mode = mode;
    ergUpshrink = mode ? "open" : "close";
    writeCookie();
    if (ergUpshrink == loadCookieData("eonUpshrink")) {
        if (ergUpshrink == "open") {
            SwitchshrinkHeader(false);
        } else if (ergUpshrink == "close") {
            SwitchshrinkHeader(true);
        }
    } else {
        SwitchshrinkHeader(true);
    }
}
function LoadshrinkHeader(mode) {
    ergUpshrink = eonUpshrink.getValue();
    switch (ergUpshrink)
    {
        case "close":
            SwitchshrinkHeader(true);
            current_mode = false;
            break;
        case "open":
            SwitchshrinkHeader(false);
            current_mode = true;
            break;
        default:
            if (ergUpshrink == null) {
                ergUpshrink = "open";
                current_mode = true;
                writeCookie();
            }
            break;
    }
}
// --------------------------------------------------------------

function calculateDownloadSize(el) {
    var form = el.form;
    var size = 0;
    for (var i=0; i<form.elements.length; ++i) {
        if (form.elements[i].name == 'file' && form.elements[i].checked) {
            var parts = form.elements[i].value.split('|');
            size += parseInt(parts[1]);
        }
    }
    if (form.elements['size']) {
        size = formatSize(size);
        if (form.elements['size'].length) {
            for (var i=0; i<form.elements['size'].length; ++i) {
                form.elements['size'][i].value = size;
            }
        } else {
            form.elements['size'].value = size;
        }
    }
}

function submitDownload(form) {
    for (var i=0; i<form.elements.length; ++i) {
        if (form.elements[i].name == 'file' && form.elements[i].checked) {
            form.submit();
            return true;
        }
    }
    if (form.elements['size']) {
        if (form.elements['size'].length) {
            for (var i=0; i<form.elements['size'].length; ++i) {
                form.elements['size'][i].value = '';
                form.elements['size'][i].focus();
            }
        } else {
            form.elements['size'].value = '';
            form.elements['size'].focus();
        }
    }
    return false;
}

function formatSize(size) {
    if (size <= 0) {
        return "";
    }
    if (size < 1000) {
        return size + " B";
    }
    size = Math.ceil(size/1024);
    if (size < 1000) {
        return size + " KB";
    }
    size = formatDouble(size / 1024);
    return size + " MB";
}

function formatDouble(num) {
    num = String(Math.round(100 * num));
    if (num.length > 2) {
        return num.substr(0, num.length - 2) + "." + num.substr(num.length - 2, 2);
    } else {
        num = "00" + num;
        return "0."  + num.substr(num.length - 2, 2);
    }
}

// --------------------------------------------------------------

function popup(url,name,w,h,s) {
  neu = window.open(url,name,w,h,s,'marginwidth=0,marginheight=0,resizable=0,status=0,toolbar=0,menubar=0,location=0');
  neu.focus();
}

function popupGeometry(type) {
     switch (type) {
         case 'jobOffer':
             return 'width=620,height=580,scrollbars=auto';
        case 'eWorld':
             return 'width=780,height=580,scrollbars=auto';
         case 'careercontact':
             return 'careercontact','width=620,height=580,scrollbars=yes';
         case 'microsite':
             return 'microsite','width=780,height=580,scrollbars=no,locationbar=no,menubar=no';
         case 'Ausbildungstellenmarkt':
            return "width=620,height=580,left=0,top=0,toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=no";
         default:
             return '';
     }
}

// --------------------------------------------------------------
function count_link(OBJ,BU) {
    var TRACKER = 'http://count.eon.com/cgi-bin/count/';
    var DATEI = OBJ.pathname;
    I = new Image();
    I.src= TRACKER+BU+"/"+DATEI+"?ref="+escape(document.URL);
    return true;
}
// --------------------------------------------------------------

// --------------------------------------------------------------
// CSS Dropdowns
startList = function() {
    if (document.all&&document.getElementById) {
        navRoot = document.getElementById("anbieter");
        for (i=0; i<navRoot.childNodes.length; i++) {
            node = navRoot.childNodes[i];
            if (node.nodeName=="LI") {
                node.onmouseover=function() {
                    this.className+=" over";
                }
                 node.onmouseout=function() {
                    this.className=this.className.replace(" over", "");
                }
            }
        }
    }
}
// --------------------------------------------------------------


