function flashVersionGet(){
    /* ---- flash version detection functions ----  */
    if(typeof deconcept == "undefined") var deconcept = new Object();
    if(typeof deconcept.SWFObjectUtil == "undefined") deconcept.SWFObjectUtil = new Object();
    deconcept.SWFObjectUtil.getPlayerVersion = function(){
        var PlayerVersion = new deconcept.PlayerVersion([0,0,0]);
        if(navigator.plugins && navigator.mimeTypes.length){
            var x = navigator.plugins["Shockwave Flash"];
            if(x && x.description) {
                PlayerVersion = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));
            }
        }else{
            // do minor version lookup in IE, but avoid fp6 crashing issues
            // see http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
            try{
                var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
            }catch(e){
                try {
                    var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
                    PlayerVersion = new deconcept.PlayerVersion([6,0,21]);
                    axo.AllowScriptAccess = "always"; // throws if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
                } catch(e) {
                    if (PlayerVersion.major == 6) {
                        return PlayerVersion;
                    }
                }
                try {
                    axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                } catch(e) {}
            }
            if (axo != null) {
                PlayerVersion = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
            }
        }
        return PlayerVersion;
    }
    deconcept.PlayerVersion = function(arrVersion){
            this.major = arrVersion[0] != null ? parseInt(arrVersion[0]) : 0;
            this.minor = arrVersion[1] != null ? parseInt(arrVersion[1]) : 0;
            this.revision = arrVersion[2] != null ? parseInt(arrVersion[2]) : 0;
    }
    return deconcept.SWFObjectUtil.getPlayerVersion();
}

function CreateBrowserInfoParameters () {
    var installedVer = flashVersionGet();
    document.write('<input name="navigator_userAgent" type="Hidden" value="'+ navigator.userAgent.toLowerCase() +'" id="Hidden1">');
    document.write('<input name="navigator_appVersion" type="Hidden" value="'+ navigator.appVersion +'" id="Hidden2">');
    document.write('<input name="navigator_platform" type="Hidden" value="'+ navigator.platform +'" id="Hidden3">');
    document.write('<input name="navigator_appName" type="Hidden" value="'+ navigator.appName +'" id="Hidden4">');
    document.write('<input name="navigator_javaEnabled" type="Hidden" value="'+ navigator.javaEnabled() +'" id="Hidden5">');
    document.write('<input name="navigator_cookieEnabled" type="Hidden" value="'+ navigator.cookieEnabled +'" id="Hidden6">');
    document.write('<input name="navigator_cpuClass" type="Hidden" value="'+ navigator.cpuClass +'" id="Hidden7">');
    document.write('<input name="navigator_browserLanguage" type="Hidden" value="'+ navigator.browserLanguage +'" id="Hidden8">');
    document.write('<input name="screen_availHeight" type="Hidden" value="'+ screen.availHeight +'" id="Hidden9">');
    document.write('<input name="screen_availWidth" type="Hidden" value="'+ screen.availWidth +'" id="Hidden10">');
    document.write('<input name="screen_height" type="Hidden" value="'+ screen.height +'" id="Hidden11">');
    document.write('<input name="screen_width" type="Hidden" value="'+ screen.width +'" id="Hidden12">');
    document.write('<input name="flash_major" type="Hidden" value="'+ installedVer.major +'" id="Hidden13">');
    document.write('<input name="flash_minor" type="Hidden" value="'+ installedVer.minor +'" id="Hidden14">');
    document.write('<input name="flash_revision" type="Hidden" value="'+ installedVer.revision +'" id="Hidden15">');
}

function browserTest(){}

browserTest.init = function(){
    function canUseOptions(){
        if (!document.forms['testform'])
            return false;

        lgth = document.forms['testform'].testselect.options.length - 1;
        document.forms['testform'].testselect.options[lgth] = null;
        if (document.forms['testform'].testselect.options[lgth])
            return false;
        return true;
    }

    function whatMSXML(){
        var r, reqObject;
        if (!window.ActiveXObject){
            return false;
        }
        var i = new Array('Msxml2.XMLHTTP.4.0',
                          'Msxml2.XMLHTTP.3.0',
                          'MSXML2.XmlHttp',
                          'Microsoft.XmlHttp');
        for (var j = 0; j < i.length; j++){
            r = i[j];
            try { reqObject = new ActiveXObject(i[j]); }
                catch(e){r = false;}
            if (r != false)
                break;
        }
        return r;
    }
    this.images = document.images ? true : false;
    this.winFocus = typeof(window.focus) != 'undefined';
    this.DHTML = document.getElementById || document.all || document.layers ? true : false;
    this.domBasic = document.getElementById ? true : false;
    this.W3CDOM = document.getElementById && document.getElementsByTagName && document.createElement ? true : false;
    this.canUseOptions = canUseOptions();
    this.whatMSXML = whatMSXML();
    this.hasXmlHTTP = typeof(XMLHttpRequest) != "undefined";
    this.hasJavaObject = navigator.javaEnabled() && typeof(java) != "undefined";
}
