
function ToggleOpenCloseDropDownMenu(x1, y1) {
    if (document.getElementById(x1).style.display == "block") {
        document.getElementById(x1).style.display = "none";
        document.getElementById(y1).className = "drop-down-plus";

    } else {
        document.getElementById(x1).style.display = "block";
        document.getElementById(y1).className = "drop-down-minus";
    }
}

function ToggleExpandText(x1, y1) {
    if (document.getElementById(x1).style.display == "block") {
        document.getElementById(x1).style.display = "none";
        document.getElementById(y1).className = "expand-text-plus";

    } else {
        document.getElementById(x1).style.display = "block";
        document.getElementById(y1).className = "expand-text-minus";
    }
} 

function fontSize(increase)
{
    var standardClassName = "main-content-area";
    var currentClass = document.getElementById("main-content-area");


    var stepClassName = standardClassName + "-step1";
    var stepTwoClassName = standardClassName + "-step2";

    if(increase == "true")
    {
        if(currentClass.className == standardClassName)
            currentClass.className = stepClassName;
        else if(currentClass.className == stepClassName)
            currentClass.className = stepTwoClassName;
    }
    else
    {
        if(currentClass.className == stepTwoClassName)
            currentClass.className = stepClassName;
        else if(currentClass.className == stepClassName)
            currentClass.className = standardClassName;
    }
    
    setCookie("fontSizeCookie", currentClass.className);
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString())
}

function getCookie(c_name)
{
    if (document.cookie.length>0)
      {
      c_start=document.cookie.indexOf(c_name + "=")
      if (c_start!=-1)
        { 
        c_start=c_start + c_name.length+1 
        c_end=document.cookie.indexOf(";",c_start)
        if (c_end==-1) c_end=document.cookie.length
        return unescape(document.cookie.substring(c_start,c_end))
        } 
      }
    return ""
}

function ShiftFocus(event, ctl) {
    if (event.keyCode == 13) {
        if (ctl != '') {
            document.getElementById(ctl).click();
            event.cancelBubble = true;
            if (event.stopPropagation) event.stopPropagation();
            return false;
        }
    }
    return true;
}

var DDSPEED = 10;
var DDTIMER = 15;
var OFFSET = -2;
var ZINT = 100;

function ddMenu(id, d, navi_item) {
    var h = document.getElementById(id);
    var c = document.getElementById(id);
    clearInterval(c.timer);
    if (d == 1) {
        clearTimeout(h.timer);
        c.style.display = 'block';
        if (c.maxh && c.maxh <= c.offsetHeight) {
            return;
        } else if (!c.maxh) {
            var position = getPosition(navi_item);
            c.style.left = position.x + 'px';
            c.style.height = 'auto';
            c.maxh = c.offsetHeight;
            c.style.height = position.y + 'px';
        }
        ZINT = ZINT + 1;
        c.style.zIndex = ZINT;
        c.timer = setInterval(function() { ddSlide(c, 1) }, DDTIMER);
    } else {
        h.timer = setTimeout(function() { ddCollapse(c) }, 50);
    }
}

function ddCollapse(c) {
    c.timer = setInterval(function() { ddSlide(c, -1) }, DDTIMER);
}

function cancelHide(hid, cid) {
    var h = document.getElementById(hid);
    var c = document.getElementById(cid);
    clearTimeout(h.timer);
    clearInterval(c.timer);
    if (c.offsetHeight < c.maxh) {
        c.timer = setInterval(function() { ddSlide(c, 1) }, DDTIMER);
    }
}

function ddSlide(c, d) {
    var currh = c.offsetHeight;
    var dist;
    if (d == 1) {
        dist = Math.round((c.maxh - currh) / DDSPEED);
    } else {
        dist = Math.round(currh / DDSPEED);
    }
    if (dist <= 1 && d == 1) {
        dist = 1;
    }
    c.style.height = currh + (dist * d) + 'px';
    c.style.opacity = currh / c.maxh;
    c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
    if (currh > (c.maxh - 2) && d == 1) {
        clearInterval(c.timer);
    } else if (dist < 1 && d != 1) {
        clearInterval(c.timer);
        c.style.display = 'none';
    }
}

function getPosition(element)
/* der Aufruf dieser Funktion ermittelt die absoluten Koordinaten
des Objekts element */
{
    var elem = element, tagname = "", x = 0, y = 0;

    /* solange elem ein Objekt ist und die Eigenschaft offsetTop enthaelt
    wird diese Schleife fuer das Element und all seine Offset-Eltern ausgefuehrt */
    while ((typeof (elem) == "object") && (typeof (elem.tagName) != "undefined")) {
        y += elem.offsetTop;     /* Offset des jeweiligen Elements addieren */
        x += elem.offsetLeft;    /* Offset des jeweiligen Elements addieren */
        tagname = elem.tagName.toUpperCase(); /* tag-Name ermitteln, Grossbuchstaben */

        /* wenn beim Body-tag angekommen elem fuer Abbruch auf 0 setzen */
        if (tagname == "BODY")
            elem = 0;

        /* wenn elem ein Objekt ist und offsetParent enthaelt
        Offset-Elternelement ermitteln */
        if (typeof (elem) == "object")
            if (typeof (elem.offsetParent) == "object")
            elem = elem.offsetParent;
    }

    /* Objekt mit x und y zurueckgeben */
    position = new Object();
    position.x = x;
    position.y = y;

    return position;
}
