﻿
var Search ={
    classList:new Array(),
    GlobalsCid:8,
    GlobalsCityid:1,
    cityDomain:"bj",
    key:"key",
    kid:"keyword",
    selectedType:'false',
    viewtime:1000,
    inter:1,
    selectid:"sel",
    count:0,
    inter:new Object(),
    OlnyClass:0,
    $:function(id)
    {
    return document.getElementById(id);
    },
    obtainAry:function(smlCls)
    {
        var i,j;
        for (i = 0;i<this.classList.length;i++)
        {
            j=0;
            for (j=0;j<this.classList[i].length;j++)
            {
                if(this.obtainId(this.classList[i][j])==this.GlobalsCid)
                {  			
                   return this.classList[i];
                }
            }      
        }
        if(this.classList.length>0)
        {
          return this.classList[0];
        }  
        return null;
    },
    createSel: function(cList)
    {

    var vIsYp,vAId;
    vAId=cList[0].split(",")[2];
    vIsYp= true;        //vIsYp 是否是黄页.
    var i=0; 
    this.addItemToSelect(this.$(this.selectid),"全部类别","http://sou.58.com?key=");   
    while (i<this.classList.length)
    {
        if (this.obtainId(this.classList[i][0])==this.GlobalsCid)
        {
          this.selectedType=true;
        }    
        this.addItemToSelect(this.$(this.selectid),this.obtainName(this.classList[i][0]),this.obtainUrl(this.GlobalsCityid,this.obtainListName(this.classList[i][0]),""));
        j=1;
        if (this.obtainId(this.classList[i][0])==this.obtainId(cList[0])) 
        {  
            while(j<cList.length)
            {
                if (this.obtainId(cList[j])==this.GlobalsCid)
                {
                     this.selectedType=true;
                }    
                if(j==cList.length-1)
                {
                     this.addItemToSelect(this.$(this.selectid),this.obtainNameType("0",this.obtainName(cList[j])),this.obtainUrl(this.GlobalsCityid,this.obtainListName(cList[j]),"")); 
                }
                else
                {
                     this.addItemToSelect(this.$(this.selectid),this.obtainNameType("1",this.obtainName(cList[j])),this.obtainUrl(this.GlobalsCityid,this.obtainListName(cList[j]),"")); 
                }
                j++;
            }
        }     
    i++;
    }
    //this.setOptGroupLbl(this.$(this.selectid));      
    
    },
    obtainId:function(vVal)
    {
    return vVal.split(',')[2];
    },
    obtainListName:function(vVal)
    {
    return vVal.split(',')[1];
    },
    obtainName:function(vVal)
    {
    return vVal.split(',')[0];
    },
    setOptGroupLbl:function(sel)
    {
    var optGroup=document.createElement("OPTGROUP");   
    optGroup.label="——————";   
    sel.insertAdjacentElement("beforeEnd",optGroup);
    },
    obtainNameType:function(type,vName)
    {
    var vTemp;
    if (type=="1")
    {
    vTemp="├"+vName;
    }
    else 
    {
    vTemp ="└"+vName;
    }
    return vTemp;
    },
    obtainUrl:function(cityId,cId,type)
    {
    var vUrl ="http://"+this.cityDomain+".58.com/"+cId+"/?key=";
    return vUrl;
    },
    addItemToSelect:function(objSelect, objItemText, objItemValue)
    {

    if (!this.isExitSelItem(objSelect, objItemValue))
    { 

    var opt = document.createElement("option");
    opt.innerText = objItemText;                      //用insertAdjacentElement时必须设置该属性(设置该属性后不能用options.add添加,报错)
    opt.text = objItemText;                           //设置这个属性用insertAdjacentElement方法会添加一个空白项,该属性可以不用
    opt.value =objItemValue;

    if (this.selectedType)
    {
    opt.selected =true;
    this.selectedType=false;
    }
    objSelect.insertAdjacentElement("beforeEnd",opt);  
    } 
    },
    isExitSelItem:function(objSelect, objItemValue)
    {
    var isExit = false;            
    for (var i = 0; i < objSelect.options.length; i++) {        
    if (objSelect.options[i].value == objItemValue) {        
    isExit = true;        
    break;        
    }        
    }        
    return isExit; 
    },
    initdefault:function(){
    this.classList[0]=new Array();this.classList[0][0]='房屋信息,house,1';this.classList[1]=new Array();this.classList[1][0]='跳蚤市场,sale,5';this.classList[2]=new Array();this.classList[2][0]='票务,piaowu,833';this.classList[3]=new Array();this.classList[3][0]='宠物,pets,832';
    this.classList[4]=new Array();this.classList[4][0]='车辆买卖与服务,car,4';this.classList[5]=new Array();this.classList[5][0]='招聘/个人简历,job,7';this.classList[6]=new Array();this.classList[6][0]='兼职信息,jianzhi,6';this.classList[7]=new Array();this.classList[7][0]='交友征婚,jiaoyou,3';
    this.classList[8]=new Array();this.classList[8][0]='生活服务,shenghuo,89';this.classList[9]=new Array();this.classList[9][0]='办公/商务,qiye,91';this.classList[10]=new Array();this.classList[10][0]='教育/培训,jiaoyu,92';this.classList[11]=new Array();this.classList[11][0]='娱乐/休闲/旅行,yulexiuxian,341';
    this.classList[12]=new Array();this.classList[12][0]='餐饮美食,canyin,143';this.classList[13]=new Array();this.classList[13][0]='购物/店铺,gouwu,371';
    } ,
    bingSel:function()
    {
    this.ClearOptions(this.$(this.selectid));         
    var Ary=this.obtainAry(this.GlobalsCid);
    this.createSel(Ary);
    },
    onSelChange:function()
    {
    this.GlobalsCid=this.$(this.selectid).options[this.$(this.selectid).selectedIndex].value;
    },
    onclickCate:function()
    {
    this.GlobalsCid =v;
    },
    onclickCity:function(v)
    {
    this.GlobalsCityid=v;
    },
    ClearOptions:function(sel)
    {
    if(sel.options)
    {
    sel.options.length =0;
    }
    },
    searchPage:function()
    {
    var  url =this.$(this.selectid).options[this.$(this.selectid).selectedIndex].value; 
    //alert(encodeURIComponent(this.$("keyword").value));
    window.top.location =url+encodeURIComponent(this.$("keyword").value);
    },
    onKey:function()
    {
      if(event.keyCode == 13)
      {
      this.searchPage();
      }
    },
    request:function(k)
    {
    var pos,str,para,parastr,tempstr1;
    tempstr="";
    str = window.location.href;
    pos = str.indexOf("?")
    parastr = str.substring(pos+1);
    if (pos==-1) return "";

    para = parastr.split("&");
    for(i=0;i<para.length;i++){
    tempstr1 = para[i];		
    pos = tempstr1.indexOf("=");
    if(tempstr1.substring(0,pos)==k) 
    return tempstr1.substring(pos+1);
    }
    return "";
    },
    getSearchData:function()
    {
    var url = "http://js.58control.cn/Cate.ashx?";
    url +="localid="+this.GlobalsCityid;
    url +="&cateid="+this.GlobalsCid;
    url +="&type="+this.OlnyClass; 
    this.headLoc = document.getElementsByTagName("head").item(0);
    this.scriptObj = document.createElement("script");  
    this.scriptObj.setAttribute("type", "text/javascript");
    this.scriptObj.setAttribute("src",url);
    this.headLoc.appendChild(this.scriptObj);
    //setTimeout("Search.InitData()",this.viewtime);
    this.inter = setInterval("Search.InitData()",this.viewtime);
    },
    InitData:function()
    {
      if(Search.classList.length==0&&this.count<10)
      {
        this.count++;
        return;
      }
      if(this.count>=10&&Search.classList.length==0)
      {
        clearInterval(this.inter);
        this.initdefault();
      }
      else
      {
        clearInterval(this.inter);
      }
    this.bingSel();
    var vkey=this.request(this.key);  
    vkey = decodeURIComponent(vkey);
    this.$(this.kid).value=vkey;
    }
}
