﻿
//ibw 主类   
var ibw = {
     /* 用户的工具 */
     userWidgetID :[],//ID
     userWidgetData :[],//详细信息
     lastOpenWidgetID : -1,//登录前最后一个打开的工具ID
     /* 默认的工具 */
     defaultWidgetID :[],//ID
     defaultWidgetData :[],//详细信息
     /* 侧边栏工具 */
     sideBarWidgetData :[],//详细信息
     /* 固定的工具 */
     fixedWidgetData :[],//详细信息
     lastFixedWindowID : "",//最近打开的窗口ID
      /* bar */
     userWidgetPageNo  : 1,//当前页号
     userWidgetPageSize : 10,//每页显示数
     openWindowID :[],//打开窗口的ID列表
     /* 点评工具 */
     mainWidgetNameSpace : "",//要点评的工具namespace
     mainWidgetGuid : '',//要点评的工具Guid
     mainWidgetTitle :'',//要点评的工具名称
     mainWidgetAccGrade :0,//要点评的是否为官方工具
     openerNameSpace : "",//打开彩虹精灵的nameSpace
     /* 工具集 */
     widgetID :[],//工具ID
     widgetData :[],//工具详细信息
     totalWidgetCount : 0,//工具总数
     totalWidgetPageNo : 1,//当前页号
     totalWidgetPageSize : 10,//每页显示数
     loadWidgetType : "total",//显示类型:所有/搜索结果
     searchName :"",//搜索工具的名称
     searchAuthor :"",//搜索工具的作者
     /* 界面设置 */
     opacityNum : 100,//透明度
     skinType : 1,//皮肤类型编号
     zIndex : 1000000,//窗口的堆叠层数
	 color : "215",//颜色
     brightness : "1",//亮度
     saturation : "1.2",//饱和度
	 barMode : 1,//bar展现模式(竖条:1 横条:2)
     /* 跨域设置*/
     lastScript : "", //跨域ajax
     addUserToolLastScript :"",
     msgLastScript : "", //跨域msg
	 connRnd : new Date().getTime(),//跨域监听连接ID的随机数
	 isCheckActive : false,
     /* 用户状态*/
     userIsLogin : false,//是否已登录
     userStatus : 1,//用户状态 1：正常
     userIsActive : false,//是否首次激活
     userIsWelcome : false,//首次提示
     userIsFirstLogin : false,//是否首次登录
     isOpenLoginWindow : true,//打开登陆窗口或提示登录
     ptAccount : '',
     checkUserActiveComplete : 0,//是否已完成用户激活判断
     /* 参数设置*/
     serverUrl : "http://ibw.sdo.com/flash/",//web服务器
     codeUrl : "http://ibw.sdo.com/flash/",//js,css,swf代码
     resServerUrl : "",//资源服务器
     helpUrl : "http://igw.sdo.com/web/help_02.asp",//帮助链接地址
     //welcomeText : '欢迎使用圈圈工具,我们给您带来全方位的互动娱乐,更快更便捷的服务！<br/><br/>提醒：请您在离开盛大在线时请关闭所有工具！',
     scrollText : 'Powered By 盛大在线',
     isIE : navigator.appName.indexOf("Microsoft"),//是否为ie游览器
     /* 可配置参数*/
     appid:0, //应用ID
     barTop:50, //竖条上边距
     barRight:30,//竖条右边距
     hengBarTop:-1,//横条上边距
     hengBarLeft:0,//横条左边距
     barDisplay:"block",//block:展开;none:收起
     defaultSkinType : 1,//默认的皮肤类型编号
     WebSiteMarker : -1,//网站标识
	 needService : 1,//是否需要服务 0:不需要 1:需要
	 needLogout : true,//是否需要注销按钮
	 barMinType : 1,//bar最小化类型
	 hiddenBar : 0,//不显示bar和消息泡泡
     
    //按id取得dom对象
    $ : function(id)
    {
        return document.getElementById(id);
    },
    //获取窗体高度
    getClientH : function()
    {
        var h1 = document.body.clientHeight, h2=document.documentElement.clientHeight;
		return (h1>h2 && h2>0)?h2:h1;
    },
    //是否在igw环境中
    isIGW : function(Version)
    {
	    if ((isNaN(Version) || (Version == "")) && (typeof(IGW) == "object")) {
		    return true;
		}
	    try {
			if(typeof(external)!="undefined" && typeof(external.isIGW)!="undefined") {
				return external.isIGW(Version);
			}else {
				return false;
			}
	    }catch (e) {
		    return false;
	    }
    },
	//加载css
	loadCss : function(id,url)
	{
		var h = document.getElementsByTagName("head")[0];
	    var link = document.createElement("link");
	    link.id= id;
		link.type ="text/css";
		link.rel = "STYLESHEET";
		link.href = url;
	    h.appendChild(link);
	},
	//加载js
	loadJS : function(url)
	{
		var h = document.getElementsByTagName("head")[0];
	    var s = document.createElement("SCRIPT");   
	    s.src = url;
	    h.appendChild(s);
	},
    //加载文件
    loadFile : function()
    {

		if(ibw.isIGW()){
			return;
		}
		
		//try{
			//document.domain="sdo.com";
		//}catch(e){}
		
        //屏幕高<=600时,缩小bar每页显示数
        if(window.screen.height<=600) {
            ibw.userWidgetPageSize = 5;
		}

		//加载js
		ibw.loadJS(ibw.codeUrl+"js/ibw_tool.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_public.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_sda.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_heartbeat.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_ajax.js");
		ibw.loadJS(ibw.codeUrl+"exjs/RightClick/swfobject.js");
		ibw.loadJS(ibw.codeUrl+"exjs/RightClick/rightClick.js");
		ibw.loadJS(ibw.codeUrl+"exjs/ibw_flashext.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_behavior.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_display.js");
		ibw.loadJS(ibw.codeUrl+"js/ibw_msg.js");
		//加载css
        ibw.loadCss("ibw_main",ibw.serverUrl+"css/ibw.css");

        //统一登录
	    document.write('<iframe src="'+ibw.serverUrl+'login/WidgetUserLoginPage.aspx" width="0" height="0" frameborder ="0"></iframe>');
        //初始化
        if(window.attachEvent){//ie
	        window.attachEvent("onload",ibw.init);
        }else if(window.addEventListener){//dom
	        window.addEventListener("load",ibw.init,false);
        }else{//others
	        window["onload"] = ibw.init;
        }
    },
    //初始化
    init : function()
    {
		//创建flash跨域Ext
		ibw_public.createFlashExt();
        //网站标识  
        ibw.WebSiteMarker = parseInt(ibw.WebSiteMarker) || -1;
        //用户激活判断
        ibw_ajax.checkUserWidgetActive();
		//屏幕高>=768时,界面随窗体滚动
        if(window.screen.height>=768)
        {
		    if(document.all){
                window.attachEvent("onscroll",ibw_behavior.setWidgetPositionByScroll);
                window.attachEvent("onresize",ibw_behavior.setWidgetPositionByResize);
            }else{
                window.addEventListener("scroll",ibw_behavior.setWidgetPositionByScroll,false);
                window.addEventListener("resize",ibw_behavior.setWidgetPositionByResize,false);
            }
        }
	    //用户续时
        setInterval(ibw_heartbeat.UserExpand,60000); 
    },
    //需要用户登录
    needUserLogin : function()
    {
        if(ibw.isOpenLoginWindow){
             ibw_display.openLoginWindow();
        }else{
            ibw_display.openAlertWindow("请您先登录盛大通行证",280,80,"center");
		}
    },
    //用户已被禁用
    userNoPassed : function()
    {
        ibw_display.openAlertWindow("在圈圈应用中,该用户已被禁用",280,80,"center");
    },
    //用户是否登录且状态正常(未被禁用)
    userIsPass : function()
    {
        if(ibw.userStatus==1){
            return true;
        }else {
            return false;
		}
    },
    //检查用户是否正常登录
    checkLoginSuccess : function()
    {
        var isPass = ibw.userIsPass();
		if(!isPass){
			ibw.userNoPassed();
			return false;
		}
		if(!ibw.userIsLogin){
		   ibw.needUserLogin();
			return false;
		}
		return true;
    },
    //外部调用
    setWidgetID : function(widgetID)
    {
        if(widgetID.length>0){
            ibw.userWidgetID = widgetID.split(',');
            ibw_ajax.loadWidgetById();
        }
    }
}
//加载文件
	if(!ibw.hiddenBar)
	ibw.loadFile();