tom.space.staticindex = {
  //第1个标签的默认模块配置
  //label1Modules: "000511|000112|000221|000313|000622|000414|000723|000e24|005415|005325",
  label1Modules: "000511|000112|000621|000313|000222|000814|000723|000e24|005415|005325",
  //第2个标签的默认模块配置
  label2Modules: "001513",
  //当前标签id
  curLabelId: tom.Cookie.read("SPACE_CURLABEL") ? tom.Cookie.read("SPACE_CURLABEL") : 1,
  modules1: null,
  modules2: null,
  params1: null,
  params2: null,
  init: function() {
    var moduleCookie1 = tom.Cookie.read("TOM_SPACE_MODULE_1");
    var moduleCookie2 = tom.Cookie.read("TOM_SPACE_MODULE_2");
     //更新强推模块
    try{
      if(tom.space.focus.focusModule.length>=1)
      moduleCookie1 = tom.space.staticindex.updateFocusModule(moduleCookie1);
    }catch(e){alert(e)}
    var paramCookie1 = tom.Cookie.read("SPACE_MODULE_PARAM_1") || "";
    var paramCookie2 = tom.Cookie.read("SPACE_MODULE_PARAM_2") || "";
    this.curLabelId = tom.Cookie.read("SPACE_CURLABEL");
    if (!moduleCookie1 || !moduleCookie2) {
      tom.Cookie.write("TOM_SPACE_MODULE_1", tom.space.staticindex.label1Modules, 65535, "/", "tom.com");
      moduleCookie1 = tom.space.staticindex.label1Modules;
      tom.Cookie.write("TOM_SPACE_MODULE_2", tom.space.staticindex.label2Modules, 65535, "/", "tom.com");
      moduleCookie2 = tom.space.staticindex.label2Modules;
      tom.Cookie.write("SPACE_CURLABEL", 1, 65535, "/", "tom.com");
      this.curLabelId = 1;
      tom.Cookie.write("TOM_SPACE_THEME_1", 0, 65535, "/", "tom.com");
      tom.Cookie.write("TOM_SPACE_THEME_2", 0, 65535, "/", "tom.com");
    }
    //自动更换主题
    //this.randomShowTheme();
//    tom.Cookie.write("TOM_SPACE_THEME_1", 1, 65535, "/", "tom.com");
    var rrtmppc1 = moduleCookie1;
    if (tom.Cookie.read("TOM_SPACE_TMP_RRAD") != 1) {
      try {
        if (moduleCookie1 == "") {
          moduleCookie1 = "000621";
        } else {
          moduleCookie1 = "000621|" + moduleCookie1.replace(/\|?0006\d{2,}$|^0006\d{2,}\|?|0006\d{2,}\|/gi, "");
        }
        tom.Cookie.write("TOM_SPACE_MODULE_1", moduleCookie1, 65535, "/", "tom.com");
      } catch (ex) {

      }
      tom.Cookie.write("TOM_SPACE_TMP_RRAD", 1, 6535, "/", "tom.com");
    }

    this.modules1 = tom.util.Arrays.asMap(this.cookie2modules(moduleCookie1), function(o) {
        return {k: o.id, v: o};
      }).filter(null, function(k, v) {
        return parseInt(k) != 23 && parseInt(k) != 24;
      });
    this.modules2 = tom.util.Arrays.asMap(this.cookie2modules(moduleCookie2), function(o) {
        return {k: o.id, v: o};
      }).filter(null, function(k, v) {
        return parseInt(k) != 23 && parseInt(k) != 24;
      });
    this.params1 = paramCookie1 != "" ? tom.util.Arrays.asMap(this.cookie2params(paramCookie1) || [], function(o) {
        return {k: o.typeID, v: o};
      }) : new tom.util.Map();
    this.params2 = paramCookie2 != "" ? tom.util.Arrays.asMap(this.cookie2params(paramCookie2) || [], function(o) {
        return {k: o.typeID, v: o};
      }) : new tom.util.Map();
    if (document.location.href.indexOf("DEBUGJS")) {
      
    }
  },
  updateFocusModule: function(moduleCookie) {
    var focusVistion = tom.Cookie.read("SPACE_FOCUS_VERSION");

    var focusModule = tom.space.focus.focusModule[tom.space.focus.focusVersion-1];
    var lastVersion = tom.space.focus.focusVersion;
    var expires = focusModule.expires.replace(/[^0-9]/g,',');
    expires = expires.split(',');
   
    expires[1]=parseInt(expires[1])-1;
    
    expires.join(',');
    expires = eval('new Date('+ expires +')');
    var now = new Date();

    now = Date.parse(now);
    expires =Date.parse(expires);
    
    if(expires>now)
    {
    
      if(focusVistion == '')
      {
          //没有强推模块　添加
          var modules = tom.space.staticindex.cookie2modules(tom.space.staticindex.label1Modules);

          modules.sort(function(x,y){if(x.index>y.index)return 1;else return -1;});
          var index=1;
          for(var i=0;i<modules.length;i++)
          {
            if(modules[i].column==focusModule.column)
            {

              //给强推模块所在栏模块重排序
              modules[i].index = index
              //为强推模块后面的所有模块index+1;
              if(modules[i].index>=focusModule.index)
              {
                modules[i].index++;
              }
              index++;
            }
            
          }
          modules.push(focusModule);
  
          modules.sort(function(x,y){if(x.column*1000+x.index>y.column*1000+y.index)return 1;else return -1;});
          //修改默认cookie串
          tom.space.staticindex.label1Modules = unescape(tom.space.staticindex.modules2cookie(modules));
          tom.Cookie.write("TOM_SPACE_MODULE_1",tom.space.staticindex.label1Modules,65535, "/", "tom.com");
          
      }
      else if(focusVistion < lastVersion)
      {
          
          //不是最新版　更新
          var oldModule = tom.space.focus.focusModule[focusVistion-1];
          var modules = tom.space.staticindex.cookie2modules(moduleCookie);
          //查找当前版本对应typeid　删除
          for(i=0;i<modules.length;i++)
          {
            if(modules[i].id==oldModule.id)
            {
              modules.splice(i,1)
            }
          }
          modules.sort(function(x,y){if(x.index>y.index)return 1;else return -1;});
          var index=1;
          for(var i=0;i<modules.length;i++)
          {
            if(modules[i].column==focusModule.column)
            {

              //给强推模块所在栏模块重排序
              modules[i].index = index
              //为强推模块后面的所有模块index+1;
              if(modules[i].index>=focusModule.index)
              {
                modules[i].index++;
              }
              index++;
            }
            
          }
          //添加最新模块
          modules.push(focusModule);
          modules.sort(function(x,y){if(x.column*1000+x.index>y.column*1000+y.index)return 1;else return -1;});
          var modulesString = unescape(tom.space.staticindex.modules2cookie(modules));
          tom.Cookie.write("TOM_SPACE_MODULE_1",modulesString,65535, "/", "tom.com");
          tom.space.staticindex.label1Modules = modulesString;
      }
      else
      {
        return moduleCookie;
      }
      tom.Cookie.write("SPACE_FOCUS_VERSION",lastVersion,65535, "/", "tom.com");
      return tom.space.staticindex.label1Modules;
    }
    else
    {
      if(focusVistion != '')
      {
          var oldModule = tom.space.focus.focusModule[focusVistion-1];
          var modules = tom.space.staticindex.cookie2modules(moduleCookie);
          //查找当前版本对应typeid　删除
          for(i=0;i<modules.length;i++)
          {
            if(modules[i].id==oldModule.id)
            {
              modules.splice(i,1)
            }
          }
          //添加最新模块
          modules.sort(function(x,y){if(x.column*1000+x.index>y.column*1000+y.index)return 1;else return -1;});
          var modulesString = unescape(tom.space.staticindex.modules2cookie(modules));
          tom.Cookie.write("TOM_SPACE_MODULE_1",modulesString,65535, "/", "tom.com");
          
          return modulesString;
      }
      else
      {
          return moduleCookie;
      }
    }
  },
  getModules: function() {
    return this.curLabelId == 1 ? this.modules1 : this.modules2;
  },
  //初始化标签dom
  initLabel: function() {
    $("lbl_" + this.curLabelId).className = $("lbl_" + this.curLabelId).className + " current";
  },
  //设置当前label id到cookie
  setCurLabelIdCookie: function(lid) {
    tom.Cookie.write("SPACE_CURLABEL", lid, 65535, "/", "tom.com");
  },
  //初始化theme的link、buttons
  initTheme: function() {
    var tid = tom.Cookie.read("TOM_SPACE_THEME_" + this.curLabelId);
    $("linkTheme").href = "/theme/theme" + tid + ".css";
    refreshThemeButtons(tid);
  },
  //设置主题cookie
  setThemeCookie: function(tid) {
    tom.Cookie.write("TOM_SPACE_THEME_" + this.curLabelId, tid, 65535, "/", "tom.com");
    tom.Cookie.write("TOM_SPACE_HASTHEME_" + this.curLabelId, "true", 65535, "/", "tom.com");
  },
  initLayout: function() {
    $("linkLayout").href = (this.curLabelId == 1) ? "/style/layout2.css" : "/style/layout1.css";
  },
  initModParams: function(params) {
    var el;
    for (var k in params) {
      el = $(k + "_" + params.id);
      if (el && k != "typeID" && k != "id") {
        switch (el.type.toLowerCase()) {
          case "checkbox":
            el.checked = true && params[k];
            break;
          case "hidden":
            el.value = params[k];
            break;
          default:
            break;
        }
      }
    }
  },
  initModParams2: function(id, params) {
    var el;
    params.each(function(k, v) {
          el = $(k + "_" + id);
          if (el && k != "typeID" && k != "id") {
            switch (el.type.toLowerCase()) {
              case "checkbox":
//                alert(el.id + " " + el.type + " " + el.checked + " " + v);
                el.checked = (v === "true" || v === true) ? true : false;
                break;
              case "hidden":
                el.value = v;
                break;
              default:
                break;
            }
          }
      });
  },
  //自动轮换股票和画报, 周1~5 9:00-16:00股票，其它时间画报
  autoShowStockNpic: function() {
    var t = new Date();
    var week = t.getDay();
    var hour = t.getHours();
    if (week >= 1 && week <= 5 && hour >= 9 && hour <= 15) {
      $("right_stock_mod").style.display = "block";
      $("right_zzhb").style.display = "none";
    } else {
      $("right_stock_mod").style.display = "none";
      $("right_zzhb").style.display = "block";
    }
  },
  //自动更换主题
  randomShowTheme: function() {
    var hasSetTheme = tom.Cookie.read("TOM_SPACE_HASTHEME_" + this.curLabelId);
    if (!hasSetTheme) {
      var themeId = Math.random();
      themeId = 1 + parseInt(6 * themeId);
      themeId = themeId > 6 ? 6 : themeId;
      tom.Cookie.write("TOM_SPACE_THEME_" + this.curLabelId, themeId, 65535, "/", "tom.com");
    }
  },
  cookie2modules: function(cookie) {
    //与modules2cookie相反。把cookie中SPACE_MODULE字符串解析为modules数组 
    var modules=unescape(cookie).split("|");
    for(var i=0;i<modules.length;i++)
    {
        var id = parseInt("0x"+modules[i].substr(0,4));
        var column = modules[i].substr(4,1);
        var index = modules[i].substr(5);
        modules[i]=[];
        modules[i]["id"]=id;
        modules[i]["column"]=column;
        modules[i]["index"]=index;
    }
    return modules;
  },
  modules2cookie: function(modules) {
     //与cookie2modules相反
    for(var i=0;i<modules.length;i++)
    {
        module = modules[i];
        modules[i]=parseInt(module["id"]).toString(16);
        modules[i]=(modules[i].length<4)?'0000'.substr(0,4-modules[i].length)+modules[i]:modules[i];
        modules[i]+=module["column"];
        modules[i]+=module["index"];
        
    }
    return escape(modules.join("|"));
  },
  cookie2params: function(cookie) {
    /*存放cookie中的设置字符串返回json数组
    *
    *param=array(typeid,{json},typeid,{json});
    *
    *///
        cookie=unescape(cookie);
        var params = cookie.split("|");
        var parameter = [];
        for(var i =0; i< params.length/2;i++)
        {
            var paramStr = params[i*2+1];
            var index = 1;
            var param = {};
 
            for(j=0;j<paramStr.length/2;j++)
            {
                //二进制param参数

                paramBin = parseInt('0x'+paramStr.substr(2*j,2)).toString(2);
                paramBin = String((paramBin.length<8)?'00000000'.substr(0,8-paramBin.length)+''+paramBin:paramBin);
                
                param["channel_"+ index] = (paramBin.substr(0,1)==1)?true:false;
                param["num_"+index] = parseInt(paramBin.substr(2,6),2);
                param["collapse_"+index] = paramBin.substr(1,1);
                index ++;
            }
            param["typeID"] = parseInt(params[i*2]).toString(10);
            param["id"] = param["typeID"];
            param["channel_number"] = index-1;
            
            parameter.push(param);
        }

        return parameter;
  },
  params2cookie: function(params) {
    /*
    * 把moduleType id 作为偶数索引
    * para设置 用2进制表示 channer_i,collapse_i,num_i;三项连起构成一个8位2进制转换成1个2位16进制  每2位16进制表示一个设置，模块有多少设置则该串是设置长度的2倍.
    * 与cookie2param相反。
    */ 
    var parameter = [];
    var param = null;
    var isShow, isCollapse, showNum;
    for(i=0;i<params.length;i++)
    {
        param=params[i];
        parameter.push(param["typeID"].toString(16));
        parameterStr="";
        for(j=1; j <= param["channel_number"]; j++)
        {
            isShow = "" + (param["channel_"+ j] == "true" ? 1 : 0);
            isCollapse = "" + (param["collapse_"+j]);
            showNum = "" + parseInt(param["num_"+j]).toString(2);
            showNum = '000000'.substr(0,6-showNum.length) + showNum + ''; 
            str = parseInt((isShow + isCollapse + showNum), 2).toString(16);
            parameterStr+=str;
        }
        parameter.push(parameterStr);
    }
    
    return parameter.join("|");
  },
  saveParams2cookie: function(typeid,json) {
    json["typeID"]=typeid;
    var cookie = tom.Cookie.read("SPACE_MODULE_PARAM_"+this.curLabelId);
 
    var params = cookie == "" ? [] : this.cookie2params(cookie);
    
    var haveSet = false
    for(i = 0;i<params.length;i++)
    {
        if(typeid == parseInt(params[i]["typeID"]))
        {
            params[i] = json;
            haveSet = true;
            break;
        }
    }
    if(!haveSet)
    {
        params.push(json);
    }
    cookieString = this.params2cookie(params);
    tom.Cookie.write("SPACE_MODULE_PARAM_" + this.curLabelId, escape(cookieString), 65535, "/", "tom.com");
    
    return cookieString;  
  },
  dumpJson: function(o) {
    var s = "";
    for (var i in o) {
      s += i + " = " + o[i] + "\n";
    }
    return s;
  },
  resetTomIndex20080407: function() {
    tom.confirm("确认恢复初始页面吗？", function() {
      tom.Cookie.remove('TOM_SPACE_MODULE_1', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_THEME_1', 'tom.com');
      tom.Cookie.remove('SPACE_MODULE_PARAM_1', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_MODULE_1', 'www.tom.com');
      tom.Cookie.remove('TOM_SPACE_THEME_1', 'www.tom.com');
      tom.Cookie.remove('SPACE_MODULE_PARAM_1', 'www.tom.com');
      
      tom.Cookie.remove('TOM_SPACE_MODULE_2', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_THEME_2', 'tom.com');
      tom.Cookie.remove('SPACE_MODULE_PARAM_2', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_MODULE_2', 'www.tom.com');
      tom.Cookie.remove('TOM_SPACE_THEME_2', 'www.tom.com');
      tom.Cookie.remove('SPACE_MODULE_PARAM_2', 'www.tom.com');
      
      tom.Cookie.remove('TOM_SPACE_ID', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_AUTHKEY', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_ID', 'www.tom.com');
      tom.Cookie.remove('TOM_SPACE_AUTHKEY', 'www.tom.com');
      
      tom.Cookie.remove('TOM_SPACE_HASTHEME_1', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_HASTHEME_2', 'tom.com');
      tom.Cookie.remove('TOM_SPACE_HASTHEME_1', 'www.tom.com');
      tom.Cookie.remove('TOM_SPACE_HASTHEME_2', 'www.tom.com');
      
      tom.Cookie.remove('SPACE_FOCUS_VERSION', 'tom.com');
      tom.Cookie.remove('SPACE_FOCUS_VERSION', 'www.tom.com');
      document.location.reload();
    });
  }
};
tom.space.staticindex.init();
