// ========================
// = Footer positionieren =
// ========================
function init() {
    var logo_inverter = $('logo_inverter');
    var content = $('content');
    var navigation = $('navigation');
    var footer = $('footer');
    
    logo_inverter.setStyle({
            height: logo_inverter.getHeight() - 130 - footer.getHeight() + 'px'
    });
    
    if(navigation.getHeight() >= content.getHeight()) {
        content.setStyle({
            height: navigation.getHeight() + 'px'
        });
    } else if(content.getHeight() >= navigation.getHeight()) {
        navigation.setStyle({
            height: content.getHeight() - footer.getHeight() - 40 + 'px'
        });
    }
}
function init_ie6() {
    if(Element.getDimensions(document.getElementById('navigation')).height >= Element.getDimensions(document.getElementById('content')).height) {
        document.getElementById('content').setStyle({
            height: Element.getDimensions(document.getElementById('navigation')).height + 'px'
        });
    } else if(Element.getDimensions(document.getElementById('content')).height >= Element.getDimensions(document.getElementById('navigation')).height) {
        document.getElementById('navigation').setStyle({
            height: Element.getDimensions(document.getElementById('content')).height - Element.getDimensions(document.getElementById('footer')).height - 40 + 'px'
        });
    }
}
// ===========================
// = LOGO LINK positionieren =
// ===========================
function position_logolink() {
    var logolink = $('logolink');
    var viewport_width = document.viewport.getWidth();
    
    var logolink_newposition = (viewport_width - 968) / 2;
    logolink.setStyle({
            right: logolink_newposition + 'px'
    });
}

var logolink_absolute = false;

// =====================================
// = Auf zu kleinen Viewport reagieren =
// =====================================
function disableFixedPositioning() {
    $('navigation').setStyle({
        position: 'absolute'
    });
    $('logolink').setStyle({
        position: 'absolute'
    });
    $('logo_inverter').setStyle({
        display: 'none'
    });
    $(document.body).setStyle({
        backgroundAttachment: 'scroll'
    });
}
function enableFixedPositioning() {
    $('navigation').setStyle({
        position: 'fixed'
    });
    if(!logolink_absolute) {
        $('logolink').setStyle({
            position: 'fixed'
        });
    }
    $('logo_inverter').setStyle({
        display: 'block'
    });
    $(document.body).setStyle({
        backgroundAttachment: 'fixed'
    });
}

function checkViewport() {
    if(!its_the_ie6) {
        if($('navigationList')) {
            var navigationContainerPadding = parseInt(  ( $('navigation').getStyle('padding-top') ).replace("px", "")  ) + parseInt(  ( $('navigation').getStyle('padding-bottom') ).replace("px", "")  );
            var maxHeight = $('logolink').getHeight() + $('navigationList').getHeight() + navigationContainerPadding;
        } else {
            var maxHeight = 0;
        }
        if(document.viewport.getHeight() <= maxHeight) {
            disableFixedPositioning();
        } else {
            enableFixedPositioning();
        }
    }
    if(document.viewport.getWidth() <= 968) {
        disableFixedPositioning();
        $($$('html')[0]).setStyle({
            overflowX: 'scroll'
        });
        $(document.body).setStyle({
            backgroundPosition: '0 0'
        });
    } else {
        $($$('html')[0]).setStyle({
            overflowX: 'hidden'
        });
        $(document.body).setStyle({
            backgroundPosition: 'center 0'
        });
        if(!logolink_absolute) {
            position_logolink();
        }
    }
}
Event.observe(window, 'load', function() {
    if(!its_the_ie6) {
        init();
    }
    if(its_the_ie6) {
        init_ie6();
    }
    checkViewport();
});
Event.observe(window, 'resize', function() {
    checkViewport();
});

navigation_open = false;
function show_navigation() {
    $('navigation_short').setStyle({
        display: 'block'
    });
    if(!navigation_open) {
        $('navigation').setStyle({
            position: 'absolute',
            background: '#02133d'
        });
        $('navigation').setStyle({
            height: $('navigation').getHeight() - 20 + 'px'
        });
        navigation_open = true;
    }
    Event.observe('navigation', 'mouseout', function(e) {
        if (typeof event != 'undefined') {
            if (!event.toElement) {
                return;
            }
        }
        if ( $(e.relatedTarget || event.toElement).descendantOf('navigation')) {
            return;
        }
        hide_navigation();
    });
}
function hide_navigation() {
    $('navigation_short').setStyle({
        display: 'none'
    });
}
