function cumulativeOffset(element) {
    var valueT = 0, valueL = 0;
    do {
      valueT += element.offsetTop  || 0;
      valueL += element.offsetLeft || 0;
      element = element.offsetParent;
    } while (element);
    return {'left' : valueL, 'top' : valueT};
 }

function isIe6() {
    return document.all && (navigator.userAgent.toLowerCase().indexOf("msie 6.") != -1);
}

function addTooltipObservers (e, offsetleft, offsettop) {
    Event.observe(
        e,
        'mouseover',
        function(e) {
            idData = new Array();
            if ( this.id ) idData = this.id.split('-');

            var element = null;

            if (idData.length == 2 && idData[0].indexOf('flyoutTooltip') == 0) {
                element = $('flyout-' + idData[1]);
            } else {
                element = $('flyout');
            }
            if (isIe6() && (element.id == 'flyout-zusammensetzung' || element.id == 'flyout' ))
            {
                $('select-show-date').hide();
            }
            element.show();

            var Height = element.getHeight();

            element.style.left = (Event.pointerX(e)-offsetleft) + 'px';
            element.style.top = (Event.pointerY(e)-Height-offsettop) + 'px';

        }
    );

    Event.observe(
        e,
        'mouseout',
        function(e) {
            idData = new Array();

            if ( this.id ) idData = this.id.split('-');

            var element = null;

            if (idData.length == 2 && idData[0].indexOf('flyoutTooltip') == 0) {
                element = $('flyout-' + idData[1]);
            } else {
                element = $('flyout');
            }

            element.hide();
            if (isIe6() && (element.id == 'flyout-zusammensetzung' || element.id == 'flyout' ))
            {
                $('select-show-date').show();
            }
        }
    );
}

function addTooltipObserversNew (e, offsetleft, offsettop) {

    Event.observe(
        e,
        'mouseover',
        function(e) {
            idData = new Array();
            if ( this.id ) idData = this.id.split('-');

            var element = null;

            if (idData.length == 2 && idData[0].indexOf('flyoutTooltip') == 0) {
                element = $('flyout-' + idData[1]);
            } else {
                element = $('flyout');
            }
            if (isIe6() && (element.id == 'flyout-zusammensetzung' || element.id == 'flyout' ))
            {
                $('select-show-date').hide();
            }

            var Height = element.getHeight();

            /*element.style.left = (Event.pointerX(e)-offsetleft) + 'px';
            element.style.top = (Event.pointerY(e)-Height-offsettop) + 'px';*/
            var xy = cumulativeOffset(this);
            var pxy = cumulativeOffset(document.getElementById('contents'));
            element.style.left = (xy.left - pxy.left - offsetleft) + 'px';
            element.style.top = (xy.top - Height - offsettop) + 'px';

           element.show();

        }
    );

    Event.observe(
        e,
        'mouseout',
        function(e) {
            idData = new Array();

            if ( this.id ) idData = this.id.split('-');

            var element = null;

            if (idData.length == 2 && idData[0].indexOf('flyoutTooltip') == 0) {
                element = $('flyout-' + idData[1]);
            } else {
                element = $('flyout');
            }

            element.hide();


            if (isIe6() && (element.id == 'flyout-zusammensetzung' || element.id == 'flyout' ))
            {
                $('select-show-date').show();
            }
        }
    );
}

Event.observe(
    window,
    'load',
    function() {
        $$('.flyout-tooltip').each(function(e){addTooltipObservers(e, 45, 0);});
        $$('.flyout-tooltip-flip').each(function(e){addTooltipObservers(e, 385, 0);});
        $$('.flyout-tooltip-dab').each(function(e){addTooltipObservers(e, 113, 5);});
        $$('.flyout-tooltip-dab-big').each(function(e){addTooltipObservers(e, 431, 10);});
        $$('.flyoutTooltip-depotdate1').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotdate2').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotdate3').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotdate4').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotdate5').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotdate6').each(function(e){addTooltipObservers(e, 50, 0);});
        $$('.flyoutTooltip-depotprotocolaktientrend').each(function(e){addTooltipObserversNew(e, 45, 5);});
        $$('.flyoutTooltip-depotprotocolcomtrend').each(function(e){addTooltipObserversNew(e, 45, 5);});
        $$('.flyoutTooltip-depotprotocolideastv').each(function(e){addTooltipObserversNew(e, 45, 5);});
        $$('.flyoutTooltip-kursheader').each(function(e){addTooltipObserversNew(e, 45, 5);});

        // Listner for Special Zertifikate box
        var isSpecialOn = false;
        if($('link-open-special-box')) {
            $('link-open-special-box').observe(
                'click',
                function() {
                    if (!isSpecialOn) {
                        $('index-special-sertificate').style.display = 'block';
                        isSpecialOn = true;
                    } else {
                        $('index-special-sertificate').style.display = 'none';
                        isSpecialOn = false;
                    }
                }
            );
            $('link-open-special-box').observe(
                'mouseover',
                function() {
                    if ($('index-special-sertificate').style.display == 'none')
                        $('index-special-sertificate').style.display = 'block';
                }
            );
            $('link-open-special-box').observe(
                'mouseout',
                function() {
                    if (!isSpecialOn) $('index-special-sertificate').style.display = 'none';
                }
            );
        }
    }
);

function addFavorite() {
    url   = document.location.href;
    title = document.title;
    if (window.sidebar) {
        window.sidebar.addPanel(title, url,"");
    } else if (window.external) {
        window.external.AddFavorite( url, title);
    } else if (window.opera && window.print) {
        return true;
    }
}
