function flash_detection(required, max)
{
    var required_version = required;
    var max_version = max;
    var available_version = 0;

    /* dieser Abschnitt ist für NS, Mozilla, Firefox und ähnliche Browser */
    if(typeof(navigator.plugins["Shockwave Flash"]) == "object")
    {
        /***
         * Wenn wir hier landen, dann ist Flash installiert, und wir können die Version
         * aus der Beschreibung auslesen.
         */
        var description = navigator.plugins["Shockwave Flash"].description;
        available_version = description.substr(16, (description.indexOf(".", 16) - 16));
    }
    /***
     * dieser Abschnitt ist für den IE und ähnliche Browser die ActiveX benutzen um Flash
     * anzuzeigen.
     */
     else if(typeof(ActiveXObject) == "function")
    {
        /* durchlaufen der Flash Versionen von 2 bis zur maximal zu prüfenden Version */
        for(var i = 2; i < (max_version + 1); i ++)
        {
            /***
             * wir beugen mittels try und catch (JS 1.5+ / IE5+) einem Fehler vor (welcher einen
             * Abbruch des Scripts zur Folge hätte), so können wir auch auf ein extra VBScript
             * verzichten.
             */
            try
            {
                /***
                 * läßt sich das ActiveX Flash Objekt Version i erstellen, so ist diese Version
                 * auch installiert
                 */
                if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object")
                {
                    available_version = i;
                }
           }
           catch(error)
           {
           }
        }
    }

    /* die Werte werden in Form eines Arrays zurückgegeben */
    return [available_version, required_version];
}