﻿// Browser spezifische Workarounds anwenden
function BrowserSpecificWorkarounds() {

    // Bekannte Browser Bugs beheben
    if (DetectBrowser() == 'MSIE')
        if (DetectInternetExplorerVersion() < 8) {
            IE7_FixZIndex(document.getElementById('MenuBarDiv'));
        }
        else {
            UpdateStatus('No browser specific fixes are required for current browser.');
        }
    else
        UpdateStatus('No browser specific fixes can be applied for current browser.');
}

// Browser erkennen
function DetectBrowser() {
    var browserName = 'Unknown';

    UpdateStatus('Detecting browser...');

    if (navigator.appName == 'Microsoft Internet Explorer') {
        browserName = 'MSIE';
        UpdateStatus('Microsoft Internet Explorer detected.');
    }
    else {
        UpdateStatus('Browser detection failed.');
    }

    return browserName;
}

// Internet Explorer: Version erkennen
function DetectInternetExplorerVersion() {
    var rv = 0;

    UpdateStatus('Detecting version of Microsoft Internet Explorer...');

    var ua = navigator.userAgent;
    var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");

    if (re.exec(ua) != null)
        rv = parseFloat(RegExp.$1);

    UpdateStatus('Microsoft Internet Explorer Version ' + rv + ' detected.');

    return rv;
}

// Workaround für Z-Index Bug in IE 7 (damit Menü korrekt dargestellt wird!)
function IE7_FixZIndex(object) {
    UpdateStatus('Running JavasSript: Workaround for Z-Index bug in IE7...');

    var elements = object.getElementsByTagName('*');

    for (var i = 0; i < elements.length; i++) {
        var element = elements[i];

        element.style.zIndex = object.childNodes.length - i;
    }
}

// Statusanzeige aktualisieren
function UpdateStatus(text) {
    window.status = text;
    //alert(text);
}

