﻿

if (typeof JWB == "undefined") {
    JWB = {};
    JWB.host = "http://www.jewbo.com/";
    JWB.wgHost = JWB.host + "/widget/";
}



JWBWG = {
    host: JWB.host,
    wgHost: JWB.wgHost,
    version: '3.0',
    minFlashVersion: '9',
    scendId: 0,
    scHost: JWB.wgHost, //old
    airOn: false,
    initLcName: '',
    sceneFlashName: 'JewboScene_flash',
    widgetType: '', //WG类型
    multiWG: false, //多形式WG共存
    initWidth: 0, //WG初始化大小
    initHeight: 0, //WG初始化高度
    minWidth: 0,
    minHeight: 0,
    skin: 1, //WG皮肤
    fun: [1, 2, 3, 4, 5], //WG功能项
    enableFullScreen:false,//是否开启全屏功能(固定版)
    windowLoaded: false,
    labelConfig: {
        updateFlash: '网站提示:请安装新版Flash Player,以使用页面的高级功能。'
    },
    urlConfig: {
        swfObject: JWB.wgHost + 'js/swfobject.js',
        initScene: JWB.wgHost + 'js/wg_init.js'
    },
    create: function(config) {
        var cf = config || {};
        cf.type ? (this.widgetType = (cf.type === 1 ? "Float" : cf.type === 2 ? "Static" : "Flash")) : '';
        cf.id ? (this.scendId = cf.id) : '';
        cf.width ? (this.initWidth = cf.width) : 0;
        cf.height ? (this.initHeight = cf.height) : 0;
        cf.skin ? (this.skin = cf.skin) : '';
        cf.fun ? (this.fun = cf.fun) : '';
        cf.minWidth ? (this.minWidth = cf.minWidth) : 0;
        cf.minHeight ? (this.minHeight = cf.minHeight) : 0;
        cf.loadedHandler ? (this.loadedHandler = cf.loadedHandler) : null;
        cf.sceneFlashName ? (this.sceneFlashName = cf.sceneFlashName) : '';
        cf.multiWG ? (this.multiWG = cf.multiWG) : false;
        cf.fullScreen ? (this.enableFullScreen = cf.fullScreen ):false;
        
        return this.initialize(this.scendId, this.widgetType);
    },
    renderInitLC: function(that) {

        var initLcMinFlashVersion = '8';
        var swfCtDiv =
         '<div  id="initLcWrap" style="position:fixed;*position:absolute;top:0;right:0;width:100%;height:1px; overflow:hidden;text-align:right; ">\
            <a  href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" target="_blank"  >'
         + that.labelConfig.updateFlash
         + '</a></div>';
        var div = document.createElement('Div');
        div.id = 'scTempWrap';
        document.body.appendChild(div);
        document.getElementById('scTempWrap').innerHTML = swfCtDiv;
        var swf = new SWFObject(
                        JWB.wgHost + 'swf/CreateCLCId.swf',
                        'CreateCLCId',
                        '100%',
                        '100%',
                        initLcMinFlashVersion,
                        '#869ca7#'
                        );
        swf.setAttribute("name", 'CreateCLCId');
        swf.addParam("wmode", "transparent");
        swf.addParam("allowScriptAccess", "always");
        swf.write('initLcWrap');
    },
    setAirOn: function(status) { //给initLC调用
        this.airOn = status;
    },
    renderSceneCB: function(initLcName) { //代替原来的setCreateIDCL
        this.initLcName = initLcName;
        if (!this.airOn) { this.util.getScript(this.urlConfig.initScene, function() { }); }
    },
    loading: function() {
        if (this.widgetType == 'Static' && navigator.userAgent.indexOf('MSIE') < 0) {
            var ct = document.getElementById('sceneWidgetContainer');
            if (!ct) { return; }
            var d = document.createElement("DIV");
            var dId = "k_wg_tips_wrap";
            d.id = dId;
            document.body.appendChild(d);
            var dWrap = document.getElementById(dId);
            dWrap.innerHTML = "<div id='k_wg_tips' className='k_wg_tips' style='background:black;opacity:0.7;position:absolute; filter:alpha(opacity=70);'><span style='padding:2px 5px; background:red; color:#fff; font-size:13px; display:block; margin:0 auto; margin-top:56px; width:267px; text-align:center;'>场景加载中,请稍候...</span></div>";
            var dEl = document.getElementById('k_wg_tips');
            dEl.style.width = ct.offsetWidth + "px";
            dEl.style.height = ct.offsetHeight + "px";
            dEl.style.top = ct.offsetTop + "px";
            dEl.style.left = ct.offsetLeft + "px";


        }
    },
    initScene: function(that) { },
    util: {
        getScript: function(url, callbackfun) {
            var head = document.getElementsByTagName("head")[0];
            var script = document.createElement("script");
            script.setAttribute('type', 'text/javascript');
            script.src = url;
            if (document.all) {
                script.onreadystatechange = function() {
                    if (this.readyState == "loaded" || this.readyState == "complete") {
                        callbackfun();
                    }
                }
            } else {
                script.onload = callbackfun;
            }
            head.appendChild(script);
        },
        addEventListener: function(oTarget, sEventType, fnHandler) {
            if (oTarget.addEventListener) {
                oTarget.addEventListener(sEventType, fnHandler, false);
            }
            else if (oTarget.attachEvent) {
                oTarget.attachEvent("on" + sEventType, fnHandler);
            }
            else {
                oTarget["on" + sEventType] = fnHandler;
            }
        }
    },
    initialize: function(scid, wgType) {
        var that = this;
        this.scendId = scid;
        this.widgetType = wgType ? wgType : 'Static';
        this.loading();

        var onloadGetSwfObject = function() {
            JWBWG.windowLoaded = true;
            that.util.getScript(that.urlConfig.swfObject, function() {
                that.renderInitLC(that);

            });
        };

        //判断WINDOW是否已加载
        if (JWBWG.windowLoaded) {
            onloadGetSwfObject();
        } else {
            this.util.addEventListener(window, 'load', onloadGetSwfObject);
        }


    }
};

var JewboFloatSceneWidget = {};
var JewboSceneWidget = {};
JewboSceneWidget =JWB.WG =  JWBWG;


JWBWG.util.addEventListener(window, 'load', function() { JWBWG.windowLoaded = true; });

//old Float Widget Interface
JewboFloatSceneWidget.createScene = function(scid) {

  return  JWB.WG.create({ id: scid, type: 1, width: 640, height: 200,minWidth:595, skin: 5, fun: [1,2,3, 4] });
}

//old Static Widget Interface
JewboSceneWidget.createScene = function(scid) {
 return   JWB.WG.create({ id: scid, type: 2, skin: 5, fun: [1, 2, 3, 4] });
}




function setCreateIDCL(n) { 
return JWBWG.renderSceneCB(n);}


