﻿// JScript 文件

   
    var ValueObj;//存储值对象
    var NameObj; //存储名称对象
    var IDArr;
    var NameArr;
   
    document.write("<div id=\"layer\"  style=\"display:none; z-index:100; LEFT: 147px; position : absolute;TOP: -56px;\"><DIV class=\"sort2\" style=\"WIDTH: 440px\">    <select id=\"mainCatalog\" style=\"WIDTH: 180px\" onchange=\"javascript:selectOnchange('mainCatalog');\" name=\"mainCatalog\">   </select>    <div id=\"spCate900\"><input name=\"chkCate900\" onclick=\"BigClassEventCate()\" type=\"checkbox\" /><span id=\"BigClassName\"></span> &nbsp;(选择此大类，将包括以下所有小类)</div>    如需选择分类,请在左侧下拉菜单中选择</DIV>  <TABLE id=TblChild cellSpacing=0 cellPadding=1 width=\"100%\" align=center border=0><!-- 用于选择下拉选项开始 -->        <TBODY>        <TR>         <TD bgColor=#ffffff colSpan=4 style=\"height: 17px\"></TD></TR></TBODY></TABLE> <!-- 用于选择下拉选项结束 --><DIV class=\"bggreen\">您已经选择了以下职位</div><TABLE id=TABLESelected cellSpacing=0 cellPadding=1 width=\"97%\" align=center border=0><!-- 用于已经选择下拉选项开始 -->        <TBODY>        <TR><TD bgColor=#ffffff colSpan=4></TD></TR></TBODY></TABLE> <!-- 用于已经选择下拉选项结束 -->  </DIV>  ");

function writeCitys(obj)
{
	//var obj = document.getElementById(obj);
	for(i=0;i<citys.length;i++)
	{
	    if (citys[i][4]==1)
	    {
	        obj.options.add(new Option (citys[i][1],citys[i][1]));
	    }
	}
}
function AreaSelectOnchange(mainitem,subitem)
{   
    //mainitem = document.getElementById(mainitemID);
	//subitem = document.getElementById(subitemID);
	var subvalue=mainitem.value;
	//ClearObj(subitem);
	subitem.innerHTML="";
        for(i=0;i<citys.length;i++)
            {
                if (citys[i][1].substring(0,2)==subvalue)
                    {
	                    subitem.options.add(new Option (citys[i][2],citys[i][2]));
	                }
	         }
    
}

function SetAreaListValue(ListObj,Province,City){
writeCitys(ListObj.children[0]);
ListObj.children[0].value=Province;
AreaSelectOnchange(ListObj.children[0],ListObj.children[2]);
ListObj.children[2].value=City;
}
    
			
    function HaShowDiv(obj)
    {
        NameObj=obj;
        ValueObj=document.all[obj.sourceIndex+1];

        var div = document.getElementById("layer");        

        IDArr = GetArr(ValueObj.value.split(","));
        NameArr =ID2Name(IDArr);
        
       
        var Body=document.body;  
        var TABLESelected = document.getElementById("TABLESelected");
        var j = TABLESelected.rows.length;
		var chkstr='';
		while( j-- )
			{
				TABLESelected.deleteRow( j );
			}
		FirstFill();
		fillDiv();
		rePaint(0);
		if (NameObj.BoxType=='0')
             ShowMessage(div.innerHTML,"职位选择",1,"CountSel()");
        else
             ShowMessage(div.innerHTML,"区域选择",1,"CountSel()");
    }
   
		
function GetOccParentIDs()    
{    
 	var i=0,j=0;
	var FistArr = new Array();
	for(i=0;i<catelogCount;i++){
		if (parseInt(catelogs[i][3])==1){
			FistArr[j]=catelogs[i][2];
			j++;
		}	
	}
	return FistArr;
 }   
 function GetOccParentNames()   
 {     
	var i=0,j=0; 
	var FistArr = new Array();
	for(i=0;i<catelogCount;i++){
		if (parseInt(catelogs[i][3])==1){
			FistArr[j]=catelogs[i][0];
			j++;
		}
	}
	return FistArr;
 } 
function CreateRadioList(TargetTbl,aryID,aryName,colsNum,isEvent,eventName,parentID,flag,type)
		{
			var j = TargetTbl.rows.length;
			var chkstr='';
			while( j-- )
			{
				TargetTbl.deleteRow( j );
			}
			var sumRows;
			var sumItems;
			var isIncludeParent;
	
			sumItems = aryID.length;
			ListLength  = sumItems;
			isIncludeParent = true;
			
			if( sumItems%colsNum > 0 )
				sumRows = sumItems/colsNum + 1 ;
			else
				sumRows = sumItems/colsNum;
			
			sumRows = parseInt(sumRows);
			
			var index=0;
			if( parentID == "" )
				index=0;
			else
				index=1;
			var isMore;
			for( i=0 ; i<sumRows ; i++ )
			{
				tr = TargetTbl.insertRow(TargetTbl.rows.length);
				for( j=0 ; j<colsNum ; j++ )
				{
					td = tr.insertCell(j);
					
					if( j < colsNum -1 )
						td.className = "dotted";
					
					if( index <sumItems )
					{
						if (CheckIn(aryID[index]))
						    chkstr = "checked";
						else
						    chkstr = "";
						if( parentID == "" )
							strRadio = "&nbsp;&nbsp;<A href=# ONCLICK=\"" + eventName + "(" + aryID[index] + "," + aryID[index] + ",'" + aryName[index] + "')\">" + aryName[index] + "</A>" ;
						else
							strRadio = "&nbsp;&nbsp;<A href=# ONCLICK=\"" + eventName + "(" + parentID + "," + aryID[index] + ",'" + aryName[index] + "')\">" + aryName[index] + "</A>  <input type=checkbox id='"+type+"' ONCLICK=\"" + eventName + "(" + aryID[index] + ",'" + aryName[index] + "')\" value=\""+aryName[index]+"\" "+chkstr+">";
							
						td.innerHTML = strRadio;
					}
					else
						td.innerHTML = "&nbsp;";
					
					index++;
				}
			}
			return sumRows;
		}
function CloseDiv()
{
   
}
function selectOnchange(id)
{
    obj = document.getElementById(id);
    //准备保存当前选项的值
    LastSel = obj.options[obj.options.selectedIndex].value;
    document.getElementById("BigClassName").innerHTML = obj.options[obj.options.selectedIndex].text;
    if (NameObj.BoxType == '0')
    {
        edIDArr = IDArr.slice(0);//需要重保存的读取出来
        edNameArr = NameArr.slice(0);
        LastBigCate = obj.options[obj.options.selectedIndex].value;
    }
    else
    {
        areaIDArr = IDArr.slice(0);//需要重保存的读取出来
        areaNameArr = NameArr.slice(0);
        LastBigArea = obj.options[obj.options.selectedIndex].value;
    }
    fillDiv();
    //如果包含不限已经被选取　还要设置disabled
    if (CheckIn(obj.options[obj.options.selectedIndex].value))
    {
        document.getElementById("chkCate900").checked = true;
        DisCheckBox(1);
    }
    else
    {
        document.getElementById("chkCate900").checked = false;
    }
}
function GetSubIDs()
{
    var obj = document.getElementById("mainCatalog");
    var SelectedValue = obj.options[obj.selectedIndex].value
    SelectedValue =SelectedValue.substring(0,2)
    var i=0,j=0;
	var FistArr = new Array();
	if (NameObj.BoxType=='0')//职业分类
	{
	    for(i=0;i<catelogCount;i++){
		    if (catelogs[i][2].substring(0,2) ==SelectedValue){
			    FistArr[j]=catelogs[i][2];
			j++;
		    }	
	    }
	}
	else
	{
	    for(i=0;i<citys.length;i++){
		    if (citys[i][5].substring(0,2) ==SelectedValue){
			    FistArr[j]=citys[i][5];
			j++;
		    }	
	    }
	}
	return FistArr; 
}
function GetSubNames()
{
var obj = document.getElementById("mainCatalog");
    var SelectedValue = obj.options[obj.selectedIndex].value
    SelectedValue =SelectedValue.substring(0,2)
    var i=0,j=0;
	var FistArr = new Array();
	if (NameObj.BoxType=='0')//职业分类
	{
	    for(i=0;i<catelogCount;i++){
		    if (catelogs[i][2].substring(0,2) ==SelectedValue){
			    FistArr[j]=catelogs[i][0];
			j++;
		    }	
	    }
	}
	else
	{
	    for(i=0;i<citys.length;i++){
		    if (citys[i][5].substring(0,2) ==SelectedValue){
			    FistArr[j]=citys[i][2];
			j++;
		    }	
	    }
	}
	return FistArr; 
}
function fillDiv()//填充选项
{
    	var tblChild = document.getElementById("TblChild");
    	var SubAryIDs = GetSubIDs();
		var SubAryNames = GetSubNames();
		var sumRows = CreateRadioList(tblChild,SubAryIDs,SubAryNames,catePColsNum,true,'AreaSelectedRadio',"255",false,'Cate');
}
function AreaSelectedRadio(occID,occName){
		if (IDArr.length>=Count&&event.srcElement.checked)
		{
		    event.srcElement.checked = false;
		    alert("只能选"+Count+"项");
		    return false;
		}
		else
		{
		    var div = document.getElementById("TABLESelected");
		    CreateSelectedTable(occID , occName,event.srcElement.checked);
		}
	}
function CreateSelectedTable(occID , occName,flag)
	{
	    var TargetTbl = document.getElementById("TABLESelected");
	    var k=0;
	    var FistArr = new Array();
	    var indexToDel=0;
	   if (flag)//打勾
	   {
	        if (TargetTbl.rows.length<1)
	            {
	            tr = TargetTbl.insertRow(TargetTbl.rows.length);
	           }
	        else
	            {
	            tr = TargetTbl.rows[TargetTbl.rows.length-1];
	            }
	        
	        if (tr.cells.length>2)
	        {
	            tr = TargetTbl.insertRow();
	        }
	        td = tr.insertCell();
	        td.innerHTML = "<input type=checkbox checked id='selAA' Onclick=\"SelectCh("+occID+",'"+occName+"')\" value=" +occID+"> "+occName;
	        IDArr = AddArr(IDArr,occID);
	        NameArr = AddArr(NameArr,occName);
	   }
	   else//退勾
	   {
	        for(var i =0;i<TargetTbl.rows.length;i++)
	        {
	            for (var j=0;j<TargetTbl.rows[i].cells.length;j++)
	            {
	                if (TargetTbl.rows[i].cells[j].innerHTML.indexOf(occID)>0)
	                {
	                    //漏过被取消的
	                    IDArr = RemoveArr(IDArr,occID);
	                    NameArr = RemoveArr(NameArr,occName);
	                }
	                else
	                {
	                    if (TargetTbl.rows[i].cells[j].innerHTML!="" ||TargetTbl.rows[i].cells[j].innerHTML!=undefined)
	                    {
	                        FistArr[k] = TargetTbl.rows[i].cells[j].innerHTML;
	                        k++;
	                    }
	                }
	                
	            }
	        }
	        
	        rePaint(1);
	   }
	}
function rePaint(n)//重新绘制table
{
    var tbobj = document.getElementById("TABLESelected");
    var arr = new Array();
    if (n==0)//栽入是启动
    {
        if (NameObj.BoxType == '0')
        {
            IDArr = edIDArr.slice(0);//需要重保存的读取出来
            NameArr = edNameArr.slice(0);
            arr = edNameArr;
        }
        else
        {
            //alert ("载入城市");
            IDArr.length = 0;
            NameArr.length = 0;
            IDArr = areaIDArr.slice(0);//需要重保存的读取出来
            NameArr = areaNameArr.slice(0);
            //alert ("areaIDArr.length  =  " +areaIDArr.length);
            //alert ("IDArr.length  =  " +IDArr.length);
            arr = areaNameArr;
        }
        
    }
    else//反勾时启动
    {
        arr = NameArr;
    }
    var len = arr.length;
    var j = tbobj.rows.length;
    var k =0;
    var colsNum =3;
    var chkstr='';
    while( j-- )
    {
        tbobj.deleteRow( j );
        }
    var rows;
    if( (len%3) > 0 )
        rows = len/3 + 1 ;
    else
        rows = len/3;
    
    for( i=0 ; i<rows ; i++ )
        {
            tr = tbobj.insertRow(tbobj.rows.length);
            for( j=0 ;j<colsNum ; j++ )
				{
					if (k>=len)
					    break;
					td = tr.insertCell(j);
					td.innerHTML = "<input type=checkbox checked id='selAA' Onclick=\"SelectCh("+IDArr[k]+",'"+NameArr[k]+"')\" value=" +IDArr[k]+"> "+arr[k];
					k++;
				}
		}
}

function CountSel()
{
    var len =  NameArr.length;
   
    NameObj.value=NameArr.join(',');
    ValueObj.value=IDArr.join(',');

    if (NameObj.BoxType == '0')
    {
        edIDArr = IDArr.slice(0);
        edNameArr = NameArr.slice(0);
    }
    else
    {
        areaIDArr = IDArr.slice(0);
        areaNameArr = NameArr.slice(0);
    }

}


function RemoveArr(arrobj,val)
{
	var arrRtn = new Array();
	var k=0;
	for(var i=0;i<arrobj.length;i++)
	{
		if (arrobj[i]!= val)
		{
			arrRtn[k] = arrobj[i];
			k++;
		}
	}
	return arrRtn;
}
function AddArr(arrobj,val)
{
	var flag="can";
	for(var i=0;i<arrobj.length;i++)
	{
		if (arrobj[i]==val)
		{
			flag="cannot";
			break;
		}
	}
	if (flag=="can")
	{
		arrobj[arrobj.length] = val;
	}
	return arrobj;
}
function CheckIn(idVal)
{
    var flag = false;
    var arr = new Array();
    if (NameObj.BoxType =='0')
        arr = edIDArr;
    else
        arr = areaIDArr;
    for(var i=0;i<arr.length;i++)
    {
        if (arr[i] ==idVal)
        {
            flag = true;
            break;    
        }
    }
    return flag;
}
function FirstFill()//填丛主选框
{
    var obj = document.getElementById("mainCatalog");
    var k,v,root;
    var j=0;
    var selectedV=0;
    obj.length = 0;
    var flag =false;
    var arr = new Array();
    if (NameObj.BoxType == '0')
    {
        arr = catelogs;
        k=0; v=2; root=3;
        selectedV = LastBigCate;
    }
    else
    {
        arr = citys;
        k=2; v=5; root=4;
        selectedV = LastBigArea;
    }
    for (var i=0;i<arr.length;i++)
    {
        if (arr[i][root]==1)
        {
            obj.add(new Option (arr[i][k],arr[i][v]));
            if (arr[i][v]== selectedV)
            {
                obj.options[j].selected = true;
                document.getElementById("BigClassName").innerHTML = arr[i][k];
                flag = true;
            }
            j++;
        }
    }
    if (!flag)
    {
        document.getElementById("BigClassName").innerHTML = obj.options[0].text;
    }
}

function SelectCh(id,name)
{
    IDArr = RemoveArr(IDArr,id);
    NameArr = RemoveArr(NameArr,name);
    rePaint(1);
}
function BigClassEventCate()
{
    var idstr ="";
    var id="";
    var n=0;
    obj = document.getElementById("mainCatalog");
    id = obj.options[obj.options.selectedIndex].value;
    id = id.substring(0,2);
    name = obj.options[obj.options.selectedIndex].text;
    var tmpID = new Array();
    var tmpName = new Array();
    tmpID = IDArr.slice(0);
    tmpName = NameArr.slice(0);
    for(var i=0;i<IDArr.length;i++)
    {
        idstr = '' + IDArr[i]+ '';
        if (idstr.substring(0,2) == id)
        {
            tmpID = RemoveArr(tmpID,IDArr[i]);
            tmpName = RemoveArr(tmpName,NameArr[i]);
        }
    }
    IDArr = tmpID;
    NameArr = tmpName;
    IDArr = AddArr(IDArr,obj.options[obj.options.selectedIndex].value);
    NameArr = AddArr(NameArr,obj.options[obj.options.selectedIndex].text);
    rePaint(1);
    n = event.srcElement.checked?1:0;
    DisCheckBox(n);
}
function DisCheckBox(n)//0 为可选　1为无效
{
    if (ListLength>1) //如果当前长度＞１的话表示有Cate下拉框
    {
        for(var i=0;i<document.all["Cate"].length;i++)
        {
            if (n==1)
            {
                document.all["Cate"][i].checked = false;
                document.all["Cate"][i].disabled = "disabled";
            }
            else
            {
                document.all["Cate"][i].disabled = "";
            }
        }
    }
    
    if(n==0)
    {
        var obj = document.getElementById("mainCatalog");
        IDArr = RemoveArr(IDArr,obj.options[obj.options.selectedIndex].value);
        NameArr = RemoveArr(NameArr,obj.options[obj.options.selectedIndex].text);
        rePaint(1);
    }
}
function ID2Name(arr)
{
    var tmpArr = new Array();
    var k=0;
   if (NameObj.BoxType == '0')
    {
        for(var i=0;i<arr.length;i++)
        {
            for(var j=0;j<catelogs.length;j++)
            {
                if (catelogs[j][2] == arr[i])
                {
                    tmpArr[k] = catelogs[j][0];
                    k++;
                    break;
                }
            }
        }
    }
    else
    {
        for(var i=0;i<arr.length;i++)
        {
            for(var j=0;j<citys.length;j++)
            {
                if (citys[j][5] == arr[i])
                {
                    tmpArr[k] = citys[j][2];
                    k++;
                    break;
                }
            }
        }
    }
    return tmpArr;
}
function GetArr(arr)
{
    var tmpArr = new Array();
    var k= 0;
    for(var i=0;i<arr.length;i++)
    {
        if(arr[i]!=0)
            {
                tmpArr[k] = arr[i];
                k++;
            }
    }
    return tmpArr;
}