﻿// _bf_Browser is declare in loader.ashx
// BeanFunBlockParams is declare in loader.ashx
var _bf_isInstalled = true;
var _bf_isTheSameVersion = false;
var _bf_testObject;
if (_bf_IsInitOK) 
{
    if (BeanFunBlockParams.SupportedBrowsers[_bf_Browser] != null) {
        //Safari3? temp don't deal with it
        if (_bf_Browser == "IE") {
            try { _bf_testObject = new ActiveXObject("BFService.BFServiceX"); }
            catch (e) { _bf_isInstalled = false; }
            if (_bf_isInstalled) {
                try { _bf_isTheSameVersion = (_bf_testObject.GetVersion() == BeanFunBlockParams.ActiveXVersion.replace(/,/g, ".")); }
                catch (ex) { }
            }
        }
        else {
            _bf_testObject = navigator.plugins["npruntime scriptable plugin for beanfun"];
            if (typeof _bf_testObject == "undefined") { _bf_isInstalled = false; }
            else if (_bf_testObject[0].type == BeanFunBlockParams.PluginsMimeType) { _bf_isTheSameVersion = true; }
        }
        _bf_testObject = null;

        // for ie, if _bf_isTheSameVersion is false will show top bar to install.
        if (_bf_Browser == "IE" && (_bf_isInstalled || BeanFunBlockParams.AutoDownloadActiveXForIE == "On")) {
            document.write("<object id='objAdapter' width='0' height='0' " +
                "classid='clsid:8AFB38D0-67A4-49D3-8822-401755FC6573' " +
                "codebase='" + _bf_BaseUrl + "embeds/BFService.cab#Version=" + BeanFunBlockParams.ActiveXVersion + "' style='display:none;'></object>");
            document.write("<scr" + "ipt type='text/javascript' for='objAdapter' event='OnResult(command_id, serial_num, param_str)'>" +
                "BeanFunBlock.HandleOnResult(command_id, serial_num, param_str);</scr" + "ipt>\n");
        }
        else if (_bf_Browser != "IE" && _bf_isInstalled && _bf_isTheSameVersion) {
            document.write("<embed id='objAdapter' width='0' height='0' type='" + BeanFunBlockParams.PluginsMimeType + "' onresult='BeanFunBlock.HandleOnResult' />");
        }
    }
    else 
    {
        // Let BeanFunBlock.Init() show the _bf_LangT.UnsupportedBrowser message inside the beanfun! block.
    }
}

