﻿var arySelectedParentIDTemp = new Array();
var arySelectedIDTemp = new Array();
var arySelectedStateTemp = new Array();
var cateSelectedMax = 1;  // =1：允许多选； =0：单选，>0 显示到表格  =-1：单选回填标题到input
var cateAllowSelectedParent = 0; // =0 允许选择大类 =1;不允许选择大类
var floatingWindowLanguageShow = ""; // en:英文； 其它: 中文
//var cateFuntname="";

//隐藏元素
function HideElement(strElementTagName){
   objNodeList = document.getElementsByTagName(strElementTagName);
   for (var i=0; i<objNodeList.length; i++) {
	  //if(!objNodeList[i].classid){
		 if(document.all){
		 	objNodeList[i].style.display = "none";
		 } else{
			objNodeList[i].style.visibility = "hidden";
		 }
	  //}
   }

}	

//显示元素
function ShowElement(strElementTagName){
   objNodeList = document.getElementsByTagName(strElementTagName);
   for (var i=0; i<objNodeList.length; i++) {
	 if(document.all){
	 	 objNodeList[i].style.display = "";
	 } else { 
     	objNodeList[i].style.visibility = "visible";
	 }
   }
}
//隐藏下拉框之类的控件
function hideElementAll(){
	//HideElement("SELECT");
	//HideElement("OBJECT");
	//HideElement("IFRAME");
}
//显示下拉框之类的控件
function showElementAll(){
	//ShowElement("SELECT");
	//ShowElement("OBJECT");
	//ShowElement("IFRAME");
}
/**
 * 删除原来创建的行列 
 * TargetTbl 表的ID名
 */
function deleteTableRow(TargetTbl){
	
	var objtbl=document.getElementById(TargetTbl);
	var tbllength = objtbl.rows.length;
	while(tbllength--)
	{
		objtbl.deleteRow(tbllength);
	}
}
/**
 * 显示确定和关闭按钮
 * strFuntname 数据变量名
 * strFuntype 显示数据类型
 * TargetTbl 表的ID名
 * extFunciton 回调处理语句
 */
function showDivfButton(strFuntname,strFuntype,TargetTbl,extFunciton)
{
	var objtbl=document.getElementById(TargetTbl);
	var tbllength = objtbl.rows.length;
	while(tbllength--)
	{
		objtbl.deleteRow(tbllength);
	}
	tr = objtbl.insertRow(0);
	td = tr.insertCell(0);
	td.align="center";
	spText = document.createElement("SPAN");
	if(floatingWindowLanguageShow=="en"){
		spText.innerHTML = "<input type='button' value=' OK ' class='divbtn' onclick=\"showFloatDiv('"+strFuntname+"','"+strFuntype+"',false,0,1,'"+extFunciton+"');\"> <input type='button' value='Close' class='divbtn' onclick=\"closeFloatDivWindow();\">";
	} else {
		spText.innerHTML = "<input type='button' value='确定' class='divbtn' onclick=\"showFloatDiv('"+strFuntname+"','"+strFuntype+"',false,0,1,'"+extFunciton+"');\"> <input type='button' value='关闭' class='divbtn' onclick=\"closeFloatDivWindow();\">";
	}
	td.appendChild(spText);

}

/**
 * 在浮动框显示标题栏、确定和关闭按钮
 * strFuntname 数据变量名
 * strFuntype 显示数据类型
 * TargetTbl 表的ID名
 * extFunciton 回调处理语句
 */
function showDivfTitle(strFuntname,strFuntype,TargetTbl,extFunciton)
{
	var objtbl=document.getElementById(TargetTbl);
	var objtblTitle=eval("cate"+strFuntype+"Title");
	var objtblMaxNum=eval("cate"+strFuntype+"MaxNum");
	var strclose="<div style=\"float:right; width:130px;\"><input type='button' value='确定' class='divbtn' onclick=\"showFloatDiv('"+strFuntname+"','"+strFuntype+"',false,0,1,'"+extFunciton+"');\" > <input type='button' value='关闭' class='divbtn' onclick=\"closeFloatDivWindow();\"></div>";
	if(floatingWindowLanguageShow=="en"){
		strclose="<div style=\"float:right; width:130px;\"><input type='button' value=' OK ' class='divbtn' onclick=\"showFloatDiv('"+strFuntname+"','"+strFuntype+"',false,0,1,'"+extFunciton+"');\" > <input type='button' value='Close' class='divbtn' onclick=\"closeFloatDivWindow();\"></div>";
		if(cateSelectedMax==1){
			objtbl.innerHTML = "<div style=\"float:left; width:70%; text-align:left; \">Please select the "+objtblTitle+"(no more than "+objtblMaxNum+" "+objtblTitle+")</div>"+strclose+"";
		} else {
			objtbl.innerHTML = "<div style=\"float:left; width:70%; text-align:left; \">Please select "+objtblTitle+"</div> "+strclose+"";
		}
	} else {
		if(cateSelectedMax==1){
			objtbl.innerHTML = "<div style=\"float:left; width:70%; text-align:left; \">请选择您想要的"+objtblTitle+"（最多可选"+objtblMaxNum+"项）</div>"+strclose+"";
		} else {
			objtbl.innerHTML = "<div style=\"float:left; width:70%; text-align:left; \">请选择您想要的"+objtblTitle+"</div> "+strclose+"";
		}
	}
}

/** 
 * 将悬浮层的位置定位在屏幕中央
 * divID div的ID名
 */
function GetCenterXY_ForLayer(divID){
	
	var objdiv=document.getElementById(divID);
	
	x = document.body.scrollLeft;
	y = document.body.scrollTop;

	if(x==0){
		x = document.documentElement.scrollLeft;
	}
	if(y==0) {
		y = document.documentElement.scrollTop;
	}

	//获取屏幕宽度
	availWidth = parseInt(window.screen.availWidth);
	availHeight = parseInt(window.screen.availHeight);
	
	tblWidth = parseInt(objdiv.style.width);
		
	y = y + availHeight/5;
	x = (availWidth - tblWidth)/2;

	objdiv.style.top = y;
	objdiv.style.left = x;
}

//对给定字符串中以","间隔的数字或者字母进行排序,返回排序结果
function StrSort(str)
{
	var ary = new Array();
	var arySorted = new Array();
	if(str==0 || str==",") str="";
	ary = str.split(",");
	arySorted = ary.sort();
	return arySorted;
}

/**
 * 设置并返回选择id数组对应的状态数组
 */
function setaryIdState(arySelectedID)
{
	var arySorted=new Array();
	for(i=0;i<arySelectedID.length;i++){
		arySorted[i]=1;
	}
	return arySorted;
}

//判断 itemID 是否在数组 arySelectedIDs 中
function GetDefaultValueInSelectedList(itemID,arySelectedIDs)
{
	var isDefault = "";
	for( m=0 ; m<arySelectedIDs.length ; m++ )
	{
		if(arySelectedIDs[m] == itemID)
		{
			isDefault = " CHECKED ";
			break;
		}
	}
	return isDefault;
}

//关闭浮动div窗口
function closeFloatDivWindow(){
	//showElementAll();
	//window.document.getElementById('dhtmlgoodies_floating_window0').style.display = "none";
	//window.document.getElementById('dhtmlgoodies_floating_window0').style.visibility = "hidden";
	//window.document.getElementById('dhtmlgoodies_floating_window_alpha').style.visibility = "hidden";
	document.getElementById("win_Div_Float").innerHTML="";
}
/**
 * 显示浮动框
 * strFuntname 数据变量名
 * strFuntype 显示数据类型
 * isOpen true:显示； false 隐藏
 * selectType 1，多选，0，单选，回现到表格  -1：单选，回现到文本输入栏
 * selectParent 1，不在子类栏显父类示，0和空 在子类栏显父类示
 * extFunciton 回调处理语句
 * showFloatDiv('loccat','City',true,-1,'','document.getElementById(\\\'loccat\\\').value=\\\'请选择...\\\'; }
 */
function showFloatDiv(strFuntname,strFuntype,isOpen,selectType,selectParent,extFunciton){
	resetCateTitleLanguage();
	
	if(isOpen){
		//hideElementAll();
		cateSelectedMax=selectType;
		if(typeof(selectParent)=="undefined" || selectParent=="" || selectParent==0){
			cateAllowSelectedParent=0;
		} else {
			cateAllowSelectedParent=1;
		}
		if(window.document.getElementById('win_Div_Float')) {
			//再次显示时，重新生成浮动层，包括新的居中位置
			initFloatingWindowWithTabs('win_Div_Float');
		}

		eval("arySelected"+strFuntname+"ID=StrSort(document.getElementById('hid"+strFuntname+"').value)");
		var arySelectedIDs =eval("arySelected"+strFuntname+"ID");

		InitSelectedItems(arySelectedIDs);
		eval("arySelected"+strFuntname+"ID=arySelectedIDTemp");
		eval("arySelected"+strFuntname+"State=arySelectedStateTemp");

		//cateFuntname=strFuntname;
		showDivfParent(strFuntname,strFuntype);
		var ParentId= getFirstParentId(strFuntname,strFuntype);
		if(ParentId==""){
			deleteTableRow('TblChild');
		} else {
			showDivfChild(strFuntname,strFuntype,ParentId)
		}
		showDivfSelected(strFuntname,strFuntype);

		showDivfButton(strFuntname,strFuntype,'Tblbutton',extFunciton)
		showDivfTitle(strFuntname,strFuntype,'floatingWindowTabTitle0',extFunciton)
		
		window.document.getElementById('dhtmlgoodies_floating_window0').style.display = "block";
		window.document.getElementById('dhtmlgoodies_floating_window0').style.visibility = "visible";
		if(!window.document.getElementById('win_Div_Float')) {
			GetCenterXY_ForLayer('dhtmlgoodies_floating_window0');
		}
	} else {
		
		var arySelectedIDs =eval("arySelected"+strFuntname+"ID");
		//alert(arySelectedIDs.toString());
		dataProcessSet(document.getElementById("hid"+strFuntname),arySelectedIDs);	
		closeFloatDivWindow();
		if (cateSelectedMax==1 || cateSelectedMax==0 )	{
			CreateSelectedCheckBoxList(strFuntname,strFuntype,document.getElementById("tblSelected"+strFuntname),eval("arySelected"+strFuntname+"ID"),"chkSelected"+strFuntname,"spSelected"+strFuntname,"3","ChangedEndItem");
		} else {
			//document.getElementById("tblSelected"+strFuntname).innerHTML=""+GetSelectedName(strFuntype,arySelectedIDs[0]);
			document.getElementById(strFuntname).value=""+GetSelectedName(strFuntype,arySelectedIDs[0]);
		}
		if(extFunciton!='')
		{
			eval(extFunciton);
		}
	}
}


//在浮动框，显示大类列表
function showDivfParent(strFuntname,strFuntype){
//parent
	var TargetTbl = document.getElementById("TblParent");
	var aryID = eval("get"+strFuntype+"ParentIDs()");
	var aryName = eval("get"+strFuntype+"ParentNames()");
	var eventName = "showDivfChild";
	var cateColsNum=eval("cate"+strFuntype+"ColsNum");
	
	CreateParentCheckBoxListByArray(strFuntname,strFuntype,TargetTbl,aryID,aryName,cateColsNum,eventName);
}
//在浮动框，显示小类列表
function showDivfChild(strFuntname,strFuntype,ParentId){
//child
		var TargetTbl = document.getElementById("TblChild");
		var aryID = eval("get"+strFuntype+"IDs('"+ParentId+"')");
		var aryName = eval("get"+strFuntype+"Names('"+ParentId+"')");
		
		var chkPrefix = "chk"+strFuntname;
		var spPrefix = "sp"+strFuntname;
		
		var arySelectedIDs =eval("arySelected"+strFuntname+"ID");
		var isResult = false;
		
		var eventName = "ChkSelectedEvent";
		var parentEventName = "ChkAllEvent";
		var cateColsNum=eval("cate"+strFuntype+"ColsNum");
		
		CreateCheckBoxListByArray(strFuntname,strFuntype,TargetTbl,aryID,aryName,chkPrefix,spPrefix,arySelectedIDs,cateColsNum,isResult,eventName,parentEventName);
	
}
//在浮动框，显示大类列表
/**
 * 在浮动框，显示大类列表
 * strFuntname 数据变量名
 * strFuntype 显示数据类型
 * TargetTbl 表的ID名
 * aryID 所有id数组
 * aryName 所有id的名称数组
 * colsNum 列数
 * eventName 多选项的回调函数名
 */

function CreateParentCheckBoxListByArray(strFuntname,strFuntype,TargetTbl,aryID,aryName,colsNum,eventName)
{
	//删除原来创建的行列
	var j = TargetTbl.rows.length;
	while(j--)
	{
		TargetTbl.deleteRow(j);
	}
	//创建新的行列及控件	
	var sumRows;
	var sumItems;
	
	sumItems = aryID.length;
	isIncludeParent = true;
	
	if(sumItems%colsNum > 0){
		sumRows = sumItems/colsNum + 1 ;
	}else{
		sumRows = sumItems/colsNum;
	}
	
	sumRows = parseInt(sumRows);
	
	var index=0;
	
	for(i=0;i<sumRows;i++)
	{
		tr = TargetTbl.insertRow(TargetTbl.rows.length);
		for(j=0;j<colsNum;j++)
		{
			td = tr.insertCell(j);
			td.align = "left";
			td.height = "20";
			if(aryName[index] != "undefined" && aryName[index] != "" && sumItems>index)
			{
				spText = document.createElement("SPAN");
				spText.innerHTML = "<A style='cursor:pointer' onclick=\"" + eventName + "('"+strFuntname+"','"+strFuntype+"','" + aryID[index] + "');\">" + aryName[index] + "</A>";
				td.appendChild(spText);
			} else {
				td.innerHTML = "&nbsp;";
			}
			index++;
		}
	}
	return sumRows;
}

//在浮动框，显示小类列表
/**
 * 在浮动框，显示小类列表
 * strFuntname 数据变量名
 * strFuntype 显示数据类型
 * TargetTbl 表的ID名
 * aryID 所有id数组
 * aryName 所有id的名称数组
 * chkPrefix 多选项的名称
 * spPrefix 多选项后的span的名称
 * arySelectedIDs 已选的id数组
 * colsNum  列数
 * isResult 默认 false;
 * eventName 子类的多选项的回调函数名
 * parentEventName 父类的多选项的回调函数名
 */

function CreateCheckBoxListByArray(strFuntname,strFuntype,TargetTbl,aryID,aryName,chkPrefix,spPrefix,arySelectedIDs,colsNum,isResult,eventName,parentEventName)
{
	//删除原来创建的行列
	var j = TargetTbl.rows.length;
	while(j--)
	{
		TargetTbl.deleteRow(j);
	}
	//创建新的行列及控件	
	var sumRows;
	var sumItems;
	var isIncludeParent;
	
	sumItems = aryID.length -1 ;
	isIncludeParent = true;
	
	if(sumItems%colsNum > 0){
		sumRows = sumItems/colsNum + 1 ;
	}else{
		sumRows = sumItems/colsNum;
	}
	
	sumRows = parseInt(sumRows);
	sumItems = aryID.length ;
	
	var index=0;
		
	tr = TargetTbl.insertRow(TargetTbl.rows.length);
	td = tr.insertCell(0);
	td.height =30;
	td.align = "left";
	td.colSpan = colsNum;
	
	spChkAll = document.createElement("SPAN");
	spChkAll.id = spPrefix + aryID[0];
	
	spTextAll = document.createElement("SPAN");
	
	var isConfirm = 1;
	if(aryID.length > 1){
		isConfirm = 1;
	}else{
		isConfirm = 0;
	}
	
	chkEvent = " document.getElementById('" + chkPrefix + aryID[0] + "').checked = !document.getElementById('" + chkPrefix + aryID[0] + "').checked; "
	if(isConfirm == 1){
		if(strFuntype=="Cerlist"){
		spTextAll.innerHTML = "<a style='cursor:pointer' onclick=\"" + chkEvent + parentEventName + "('"+strFuntname+"','"+strFuntype+"', document.getElementById('" + chkPrefix + aryID[0] + "'),'" + aryID[0] + "','" + aryName[0] + "'," + isConfirm +");\"><b>" + aryName[0] + "</b></a>&nbsp;&nbsp;<font color='red'>(如果小类没有包含时，请选择大类)</font><br><div style='margin-top:5px; margin-bottom:5px;'><div>";
		} else {
		spTextAll.innerHTML = "<a style='cursor:pointer' onclick=\"" + chkEvent + parentEventName + "('"+strFuntname+"','"+strFuntype+"', document.getElementById('" + chkPrefix + aryID[0] + "'),'" + aryID[0] + "','" + aryName[0] + "'," + isConfirm +");\"><b>" + aryName[0] + "</b></a>&nbsp;&nbsp;<font color='red'>(选择此大类，将包括以下所有小类)</font><br><div style='margin-top:5px; margin-bottom:5px;'><div>";
		}
	}else{
		spTextAll.innerHTML = "<a style='cursor:pointer' onclick=\"" + chkEvent + parentEventName + "('"+strFuntname+"','"+strFuntype+"', document.getElementById('" + chkPrefix + aryID[0] + "'),'" + aryID[0] + "','" + aryName[0] + "'," + isConfirm +");\"><b>" + aryName[0] + "</b>";
	}
	defaultValue = GetDefaultValueInSelectedList(aryID[index],arySelectedIDs);
	
	var strChkAll = "<INPUT TYPE='CHECKBOX' " + defaultValue + " onclick=\"" + parentEventName + "('"+strFuntname+"','"+strFuntype+"',this,'" + aryID[0] + "','" + aryName[0] + "'," + isConfirm + " )\" NAME='" + chkPrefix + aryID[0] + "' ID='" + chkPrefix + aryID[0] + "' VALUE=" + aryID[0] + ">";

	spChkAll.innerHTML=strChkAll;
	td.appendChild(spChkAll);
	td.appendChild(spTextAll);
	
	if(cateAllowSelectedParent==1) { //隐藏大类id
		tr.style.display="none";
	}
	/*
	if(strFuntype=="City"){
		if(aryID[0]!="1100" && aryID[0]!="1200" && aryID[0]!="1300" && aryID[0]!="1400" 
			&& aryID[0]!="4300" && aryID[0]!="4400" && aryID[0]!="4600" && aryID[0]!="9900") {
			tr.style.display="none";
		}
	}
	*/
	index++;

	var parentIsChecked="";
	if(defaultValue == " CHECKED "){
		parentIsChecked = " disabled='disabled' " ;
	}
	
	var strChk;
	for(i=0;i<sumRows;i++)
	{
		tr = TargetTbl.insertRow(TargetTbl.rows.length);
		for(j=0;j<colsNum;j++)
		{
			td = tr.insertCell(j);
			td.align = "left";
			td.height = "20";
			//如果包括父项则不能大于总数,或者不包括父项则小于等于总数
			if((isIncludeParent && index <sumItems) || (!isIncludeParent && index <=sumItems))
			{
				if(aryName[index] != "undefined" && aryName[index] != "")
				{
					spChk = document.createElement("SPAN");
					spChk.id = spPrefix + aryID[index];
					spText = document.createElement("SPAN");
					
					chkEvent = " document.getElementById('" + chkPrefix + aryID[index] + "').checked = !document.getElementById('" + chkPrefix + aryID[index] + "').checked; ";
					strChk ="";
					if(isResult == false)
					{
						defaultValue = GetDefaultValueInSelectedList(aryID[index],arySelectedIDs);
						if (cateSelectedMax==1)	{
						strChk = "<INPUT TYPE='CHECKBOX' " + parentIsChecked + defaultValue + " ONCLICK=\"" + eventName + "('"+strFuntname+"','"+strFuntype+"', this )\" NAME='" + chkPrefix + aryID[index] + "' ID='" + chkPrefix + aryID[index] + "' VALUE='" + aryID[index] + "' />";
						} else {
						strChk = "<INPUT TYPE='RADIO' " + parentIsChecked + defaultValue + " ONCLICK=\"" + eventName + "('"+strFuntname+"','"+strFuntype+"', this )\" NAME='" + chkPrefix + aryID[index] + "' ID='" + chkPrefix + aryID[index] + "' VALUE='" + aryID[index] + "' />";
						}
						spText.innerHTML = "<A style='cursor:pointer' onclick=\"" + chkEvent + eventName + "('"+strFuntname+"','"+strFuntype+"',document.getElementById('" + chkPrefix + aryID[index] + "'));\">" + aryName[index] + "</A>";
						
					}else{
						if (cateSelectedMax==1)	{
						strChk = "<INPUT TYPE='CHECKBOX' CHECKED " + parentIsChecked + " ONCLICK=\"" + eventName + "('" + aryID[index] + "',this)\" NAME='" + chkPrefix + aryID[index] + "' ID='" + chkPrefix + aryID[index] + "' VALUE='" + aryID[index] + "' />";
						}
						else {
						strChk = "<INPUT TYPE='RADIO' CHECKED " + parentIsChecked + " ONCLICK=\"" + eventName + "('" + aryID[index] + "',this)\" NAME='" + chkPrefix + aryID[index] + "' ID='" + chkPrefix + aryID[index] + "' VALUE='" + aryID[index] + "' />";
						}
						spText.innerHTML = "<A style='cursor:pointer' onclick=\"" + chkEvent + eventName + "( '" + aryID[index] + "',document.getElementById('" + chkPrefix + aryID[index] + "'));\">" + aryName[index] + "</A>";
					}
					spChk.innerHTML = strChk ;
					td.appendChild(spChk);
					td.appendChild(spText);
				}
			}else{
				td.innerHTML = "&nbsp;";
			}
			index++;
		}
	}
	return sumRows;
}
//选择小类
function ChkSelectedEvent(strFuntname,strFuntype,obj){
	//当前选择的职能的大类被选择的话 不做任何操作
	var curFuntypeID = obj.value;
	//alert("curFuntypeID="+curFuntypeID);
	var oldFuntypeID;
	var bigFuntypeID;
	if(strFuntype=="Funtype"){
		bigFuntypeID = curFuntypeID.substr(0,3)+"000";
	}
	else {
		bigFuntypeID = curFuntypeID.substr(0,2)+"00";
	}
	
	var arySelectedID=eval("arySelected"+strFuntname+"ID");
	var arySelectedState=eval("arySelected"+strFuntname+"State");

	var cateMaxNum=eval("cate"+strFuntype+"MaxNum");
	if(!document.getElementById("chk"+strFuntname+bigFuntypeID).checked){
		if(obj.checked){
			var maxarrlen=arySelectedID.length;
			if(cateSelectedMax==1){			
				if(maxarrlen < cateMaxNum ){
					arySelectedID[maxarrlen] = curFuntypeID;
					arySelectedState[maxarrlen] = 1;
				}else{
					if(floatingWindowLanguageShow=="en"){
						alert("You can choose "+cateMaxNum+" items ");
					} else {
						alert("您最多能选"+cateMaxNum+"项");
					}
					obj.checked = false;
				}
			} else {
				if(typeof(arySelectedID[0])=="string"||typeof(arySelectedID[0])=="number"){
					if(arySelectedID[0]!="" ){
						if(strFuntype=="Funtype"){
							oldFuntypeID = arySelectedID[0].substr(0,3)+"000";
						} else {
							oldFuntypeID = arySelectedID[0].substr(0,2)+"00";
						}
						if(oldFuntypeID==bigFuntypeID && curFuntypeID!=arySelectedID[0]) {
							document.getElementById("chk"+strFuntname+arySelectedID[0]).checked=false;
						}
					}
				}
				arySelectedID[0] = curFuntypeID;
				arySelectedState[0] = 1;
			}
		} else {
			ChangedSelectedItem(obj.value,0,arySelectedID,arySelectedState);
			arySelectedState = arySelectedStateTemp;
		}
	} else {
		obj.checked = false;
	}
	
	UpdateSelectedItems(arySelectedState,arySelectedID);
	arySelectedState = arySelectedStateTemp;
	arySelectedID = arySelectedIDTemp;
	//alert(arySelectedID.toString());
	eval("arySelected"+strFuntname+"ID=arySelectedID");
	eval("arySelected"+strFuntname+"State=arySelectedState");

	showDivfSelected(strFuntname,strFuntype);
}
//选择大类 
function ChkAllEvent(strFuntname,strFuntype,obj,parentID,parentName,isConfirm){ //
	//选择大类后 小类变为禁止选择
	var chkPrefix = 'chk'+strFuntname;
	var spPrefix = 'sp'+strFuntname;
	var aryID = eval("get"+strFuntype+"IDs('"+parentID+"')");
	var curFuntypeID = obj.value;
	var oldFuntypeID;
	var bigFuntypeID;
	if(strFuntype=="Funtype"){
		bigFuntypeID = curFuntypeID.substr(0,3)+"000";
	}
	else {
		bigFuntypeID = curFuntypeID.substr(0,2)+"00";
	}
	
	if(isConfirm){
		SetChildItems(obj,aryID,spPrefix,chkPrefix);
	}
	var arySelectedID=eval("arySelected"+strFuntname+"ID");
	var arySelectedState=eval("arySelected"+strFuntname+"State");
	var cateMaxNum=eval("cate"+strFuntype+"MaxNum");
	
	if(obj.checked){
		if(cateMaxNum>1){
			RemoveOverlapItems(strFuntype,obj,arySelectedState,arySelectedID);
			arySelectedState = arySelectedStateTemp;
			arySelectedID = arySelectedIDTemp;
		} else {
			arySelectedState = new Array();
			arySelectedID = new Array();
		}
		var maxarrlen=arySelectedID.length;
		if (cateSelectedMax==1) {
			if(maxarrlen < cateMaxNum ){
				arySelectedID[maxarrlen] = curFuntypeID;
				arySelectedState[maxarrlen] = 1;
			} else {
				if(floatingWindowLanguageShow=="en"){
					alert("You can choose "+cateMaxNum+" items ");
				} else {
					alert("您最多能选"+cateMaxNum+"项");
				}
				obj.checked = false;
				SetChildItems(obj,aryID,spPrefix,chkPrefix);
			}
		} else {
			if(typeof(arySelectedID[0])=="string"||typeof(arySelectedID[0])=="number"){
				if(arySelectedID[0]!="" ){
					if(strFuntype=="Funtype"){
						oldFuntypeID = arySelectedID[0].substr(0,3)+"000";
					} else {
						oldFuntypeID = arySelectedID[0].substr(0,2)+"00";
					}
					if(oldFuntypeID==bigFuntypeID && curFuntypeID!=arySelectedID[0]) {
						document.getElementById("chk"+strFuntname+arySelectedID[0]).checked=false;
					}
				}
			}
			arySelectedID[0] = curFuntypeID;
			arySelectedState[0] = 1;
		}
	}else{
		ChangedSelectedItem(obj.value,0,arySelectedID,arySelectedState);
		arySelectedState = arySelectedStateTemp;
	}
	
	UpdateSelectedItems(arySelectedState,arySelectedID);
	arySelectedState = arySelectedStateTemp;
	arySelectedID = arySelectedIDTemp;
	
	eval("arySelected"+strFuntname+"ID=arySelectedID");
	eval("arySelected"+strFuntname+"State=arySelectedState");
	
	
	showDivfSelected(strFuntname,strFuntype);
}

function UpdateSelectedItems(arySelectedState,arySelectedID)
{
	//检查状态，更新选中列表，将用户取消的项清除
	if(arySelectedState != null && arySelectedState != "undefined")
	{
		var aryID = new Array();
		var aryState = new Array();
		var newIndex = 0;
		for(i=0;i<arySelectedState.length;i++)
		{
			if(arySelectedState[i] == "1" && arySelectedID[i] != "")
			{
				aryState[newIndex] = arySelectedState[i];
				aryID[newIndex] = arySelectedID[i];
				newIndex++;
			}
		}
		
		//更新选中项列表
		arySelectedIDTemp			= aryID;
		arySelectedStateTemp		= aryState;
	}
	else
	{
		arySelectedState	= new Array();
		arySelectedID		= new Array();
	}
}

function InitSelectedItems(arySelectedID)
{
	//检查状态，更新选中列表
	if(arySelectedID != null && arySelectedID != "undefined")
	{
		var aryID = new Array();
		var aryState = new Array();
		var newIndex = 0;
		for(i=0;i<arySelectedID.length;i++)
		{
			if(arySelectedID[i] != "" && arySelectedID[i] != "undefined" && arySelectedID[i] > 0 )
			{
				aryState[newIndex] = "1";
				aryID[newIndex] = arySelectedID[i];
				newIndex++;
			}
		}
		
		//更新选中项列表
		arySelectedIDTemp			= aryID;
		arySelectedStateTemp		= aryState;
	}
	else
	{
		arySelectedState	= new Array();
		arySelectedID		= new Array();
	}
}


//改变选中列表中指定项的状态
//itemID 数组中要设置状态的ID,StateValue 状态值（0不选中，1选中）,
//arySelectedState,arySelectedID,arySelectedName,arySelectedParentID 
function ChangedSelectedItem(itemID,stateValue,arySelectedID,arySelectedState)
{
	if( arySelectedID != null && arySelectedID != "undefined" )
	{
		for(i=0;i<arySelectedID.length;i++)
		{
			if(arySelectedID[i] == itemID)
			{
				arySelectedState[i] = stateValue;
				break;
			}
		}
		arySelectedStateTemp = arySelectedState;
	}
	else
	{
		arySelectedStateTemp = new Array(); 
	}
}

function dataProcessSet(obj,ary){
	obj.value = ary.toString();
}

//在选择结束后，显示已选项
function showDivfSelected(strFuntname,strFuntype) {
	var TargetTbl = document.getElementById("tblSelected");
	var arySelectedIDs =eval("arySelected"+strFuntname+"ID");
	var cateColsNum=eval("cate"+strFuntype+"ColsNum");
	CreateSelectedInfoList(strFuntname,strFuntype,TargetTbl,arySelectedIDs,cateColsNum);
}
//在选择结束后，显示已选项
function CreateSelectedInfoList(strFuntname,strFuntype,TargetTbl,arySelectedIDs,colsNum){
	//删除原来创建的行列
	var j = TargetTbl.rows.length;
	var objtblTitle=eval("cate"+strFuntype+"Title");

	while(j--)
	{
		TargetTbl.deleteRow(j);
	}
	
	var sumRows;
	var sumItems;
	
	sumItems = arySelectedIDs.length;
	
	//alert(sumItems+":"+arySelectedIDs.toString());
	
	if(sumItems%colsNum > 0){
		sumRows = sumItems/colsNum + 1;
	}else{
		sumRows = sumItems/colsNum;
	}
	sumRows = parseInt(sumRows);

	tr = TargetTbl.insertRow(TargetTbl.rows.length);
	td = tr.insertCell(0);
	td.align = "left";
	td.height = "20";
	if(colsNum>1){
		td.colspan=colsNum;
	}
	if(sumItems>0 && arySelectedIDs[0]!=""){
		if(floatingWindowLanguageShow=="en"){
			td.innerHTML = "<b> selected "+objtblTitle+"</b>";
		} else {
			td.innerHTML = "<b>已选择"+objtblTitle+"</b>";
		}
	} else {
		if(floatingWindowLanguageShow=="en"){
			td.innerHTML = "<b>none selected "+objtblTitle+"</b>";
		} else {
			td.innerHTML = "<b>没有已选"+objtblTitle+"</b>";
		}
	}
		
	var strtxt="";
	var index = 0;
	for(i=0;i<sumRows;i++)
	{
		tr = TargetTbl.insertRow(TargetTbl.rows.length);
		for(j=0;j<colsNum;j++)
		{
			td = tr.insertCell(j);
			td.align = "left";
			td.height = "20";
			if (colsNum==2) { td.width = "50%"; }
			
			if(index < sumItems){
				if(arySelectedIDs[index] != "undefined" && arySelectedIDs[index] != ""){
					spText = document.createElement("SPAN");
					spText.innerHTML = "&nbsp;" + GetSelectedName(strFuntype,arySelectedIDs[index]) + "";
					/*
					if(strFuntype=="Funtype"){
						spText.innerHTML = "&nbsp;[" + GetSelectedName(strFuntype,arySelectedIDs[index].substr(0,3)+"000") + "]"
							+ GetSelectedName(strFuntype,arySelectedIDs[index]) + "";
					} else {
						spText.innerHTML = "&nbsp;[" + GetSelectedName(strFuntype,arySelectedIDs[index].substr(0,2)+"00") + "]"
							+ GetSelectedName(strFuntype,arySelectedIDs[index]) + "";
					}
					*/
					td.appendChild(spText);
				}
			}else{
				td.innerHTML = "&nbsp;";
			}
			index++;
		}
	}
	return sumRows;
}


//在选择结束后，显示已选项
function CreateSelectedCheckBoxList(strFuntname,strFuntype,TargetTbl,arySelectedIDs,chkPrefix,spPrefix,colsNum,eventName){
	//删除原来创建的行列
	
	var j = TargetTbl.rows.length;
	while(j--)
	{
		TargetTbl.deleteRow(j);
	}
	
	var sumRows;
	var sumItems;

	if ( profession )
	{
		arySelectedIDs = profession.split(',');
		profession = null;
	}

	sumItems = arySelectedIDs.length;
	if(!arySelectedIDs.toString()){
		sumItems=0;
	}

	if(sumItems%colsNum > 0){
		sumRows = sumItems/colsNum + 1;
	}else{
		sumRows = sumItems/colsNum;
	}
	sumRows = parseInt(sumRows);
	
	var index = 0;
	var strChk;
	for(i=0;i<sumRows;i++)
	{
		tr = TargetTbl.insertRow(TargetTbl.rows.length);
		for(j=0;j<colsNum;j++)
		{
			td = tr.insertCell(j);
			td.align = "left";
			td.height = "20";
			if (colsNum==2) { td.width = "50%"; }
			
			if(index < sumItems){
				if(arySelectedIDs[index] != "undefined" && arySelectedIDs[index] != ""){
					spChk = document.createElement("SPAN");
					spChk.id = spPrefix + arySelectedIDs[index];
					spText = document.createElement("SPAN");
					
					chkEvent = " document.getElementById('" + chkPrefix + arySelectedIDs[index] + "').checked = !document.getElementById('" + chkPrefix + arySelectedIDs[index] + "').checked; ";
					strChk = "<INPUT class='choice' TYPE='CHECKBOX' CHECKED ONCLICK=\"" + eventName + "('"+strFuntname+"','"+strFuntype+"',this)\" NAME='" + chkPrefix + arySelectedIDs[index] + "' ID='" + chkPrefix + arySelectedIDs[index] + "' VALUE='" + arySelectedIDs[index] + "' />";
					spText.innerHTML = "&nbsp;<A style='cursor:pointer' onclick=\"" + chkEvent + eventName + "('"+strFuntname+"','"+strFuntype+"',document.getElementById('" + chkPrefix + arySelectedIDs[index] + "'));\">" + GetSelectedName(strFuntype,arySelectedIDs[index]) + "</A>";
					spChk.innerHTML = strChk;
					td.appendChild(spChk);
					td.appendChild(spText);
				}
			}else{
				td.innerHTML = "&nbsp;";
			}
			index++;
		}
	}
	//alert(TargetTbl.innerHTML);
	return sumRows;
}
//在已选中，取消某项
function ChangedEndItem(strFuntname,strFuntype,obj){
	
	var arySelectedID=eval("arySelected"+strFuntname+"ID");
	var arySelectedState=eval("arySelected"+strFuntname+"State");
	var cateMaxNum=eval("cate"+strFuntype+"MaxNum");
	var curFuntypeID = obj.value;
	var oldFuntypeID;
	var bigFuntypeID;
	if(strFuntype=="Funtype"){
		bigFuntypeID = curFuntypeID.substr(0,3)+"000";
	}
	else {
		bigFuntypeID = curFuntypeID.substr(0,2)+"00";
	}
	if(obj.checked){
		var maxarrlen=arySelectedID.length;
		if(cateSelectedMax==1){
			if(maxarrlen < cateMaxNum){
				arySelectedID[maxarrlen] = curFuntypeID;
				arySelectedState[maxarrlen] = 1;
			} else {
				if(floatingWindowLanguageShow=="en"){
					alert("You can choose "+cateMaxNum+" items ");
				} else {
					alert("您最多能选"+cateMaxNum+"项");
				}
				obj.checked = false;
			}
		} else {
			if(typeof(arySelectedID[0])=="string"||typeof(arySelectedID[0])=="number"){
				if(arySelectedID[0]!="" ){
					if(strFuntype=="Funtype"){
						oldFuntypeID = arySelectedID[0].substr(0,3)+"000";
					} else {
						oldFuntypeID = arySelectedID[0].substr(0,2)+"00";
					}
					if(oldFuntypeID==bigFuntypeID && curFuntypeID!=arySelectedID[0]) {
						document.getElementById("chk"+strFuntname+arySelectedID[0]).checked=false;
					}
				}
			}
			arySelectedID[0] = curFuntypeID;
			arySelectedState[0] = 1;
			
		}
	}else{
		ChangedSelectedItem(obj.value,0,arySelectedID,arySelectedState);
		arySelectedState = arySelectedStateTemp;
	}
	
	UpdateSelectedItems(arySelectedState,arySelectedID);
	arySelectedState = arySelectedStateTemp;
	arySelectedID = arySelectedIDTemp;
	eval("arySelected"+strFuntname+"ID=arySelectedID");
	eval("arySelected"+strFuntname+"State=arySelectedState");

	CreateSelectedCheckBoxList(strFuntname,strFuntype,document.getElementById("tblSelected"+strFuntname),arySelectedID,"chkSelected"+strFuntname,"spSelected"+strFuntname,"3","ChangedEndItem");
	dataProcessSet(document.getElementById("hid"+strFuntname),arySelectedID);
}
//根据ID获得NAME
function GetSelectedName(strFuntype,itemID)
{
	var isDefault ="";// "不限";
	var bigAreaID;
	if(typeof(itemID)=="undefined" || itemID=="") {
		//alert("itemID="+itemID);
		return isDefault;
	}
	if(strFuntype=="Funtype"){
		bigAreaID =""+itemID.substr(0,3)+"000";
	} else {
		bigAreaID =""+itemID.substr(0,2)+"00";
	}
	
	if(itemID == bigAreaID){
		var aryItemNames = eval("get"+strFuntype+"ParentNames()");
		var aryItemIDs = eval("get"+strFuntype+"ParentIDs()");
	}else{
		var aryItemNames = eval("get"+strFuntype+"Names('"+bigAreaID+"')");
		var aryItemIDs = eval("get"+strFuntype+"IDs('"+bigAreaID+"')");
	}
	for(m=0;m<aryItemIDs.length;m++){
		if(aryItemIDs[m] == itemID){
			isDefault = aryItemNames[m];
			break;
		}
	}
	return isDefault;
}

//选择大类后，设置小类取消和不可用
function SetChildItems(obj,aryID,spPrefix,chkPrefix)
{
	//根据大类复选框的状态，设置小类复选框的状态
	if(obj.checked)
	{
		//循环行处理每一个复选框的状态
		var index = 1;
		for(i=1;i<aryID.length;i++)
		{
			var chk = document.getElementById(chkPrefix + aryID[index]);
			chk.disabled = true;
			chk.checked = false;
			index++;
		}
	}	
	else
	{
		//循环行处理每一个复选框的状态
		var index = 1;
		for(i=1;i<aryID.length;i++)
		{
			var chk = document.getElementById(chkPrefix + aryID[index]);
			chk.disabled = false;
			chk.checked = false;
			index++;
		}
	}
}
//去除已选定的项中属于选定大类的项
function RemoveOverlapItems(strFuntype,obj,arySelectedState,arySelectedID){
	
	var itemPrefix ;
	var SelectedID ;
	if(strFuntype=="Funtype"){
		itemPrefix= (obj.value).substr(0,3);
	} else {
		itemPrefix= (obj.value).substr(0,2);
	}
	
	//检查状态，更新选中列表
	if(arySelectedState != null && arySelectedState != "undefined")
	{
		var aryID = new Array();
		var aryState = new Array();
		var newIndex = 0;
		for(i=0;i<arySelectedState.length;i++)
		{
			if(arySelectedState[i] == "1" && arySelectedID[i] != "")
			{
				if(strFuntype=="Funtype"){
					SelectedID=arySelectedID[i].substr(0,3);
				} else {
					SelectedID=arySelectedID[i].substr(0,2);
				}
				if(SelectedID != itemPrefix){
					aryState[newIndex] = arySelectedState[i];
					aryID[newIndex] = arySelectedID[i];
					newIndex++;
				}
			}
		}
		
		//更新选中项列表
		arySelectedIDTemp			= aryID;
		arySelectedStateTemp		= aryState;
	}
	else
	{
		arySelectedState	= new Array();
		arySelectedID		= new Array();
	}
}
//第一个选项的父类id
function getFirstParentId(strFuntname,strFuntype){
	
	var arySelectedIDs =eval("arySelected"+strFuntname+"ID");
	var SelectedID="";
	//alert(arySelectedIDs.toString()+" len="+arySelectedIDs.length);
	eval("arySelected"+strFuntname+"ID=arySelectedIDs");
	if(arySelectedIDs.length > 0){
		if(arySelectedIDs[0]!="" && arySelectedIDs[0]!="undefined"){
			if(strFuntype=="Funtype"){
				SelectedID=arySelectedIDs[0].substr(0,3)+"000";
			} else {
				SelectedID=arySelectedIDs[0].substr(0,2)+"00";
			}
		}
	}
	return	SelectedID;
	
}

function resetCateTitleLanguage(){
	if(floatingWindowLanguageShow=="en"){
		cateCityTitle = "City";
		cateIt_skillTitle = "It skill";
		cateFuntypeTitle = "Function";
		cateCerlistTitle = "Certificate";
	} else {
		cateCityTitle = "城市";
		cateIt_skillTitle = "IT技能";
		cateFuntypeTitle = "职能";
		cateCerlistTitle = "证书";
	}
}

//根据城市id值获取城市名称 Brucex 07042243
function getCityNameById(id) {
	if ( id )
	{
		//根据城市id生成上级id
		var pid = id.substring(0,2) + '00';
		//获取城市ids
		var cityIDs = getCityIDs(pid);
		//获取城市names
		var cityNames = getCityNames(pid);
		//返回城市名称
		return cityNames[getkey(id, cityIDs)];
	}
	else
	return '';
}

//根据职业id值获取职业名称 afo 07051119
function getFunNameById(id) {
	if ( id )
	{
		var pid = id.substring(0,3) + '000';
		//获取城市ids
		var funtypeIDs = getFuntypeIDs(pid);
		//获取城市names
		var funtypeNames = getFuntypeNames(pid);
		//返回城市名称
		return funtypeNames[getkey(id, funtypeIDs)];
	}
	else
	return '';
}

//根据专业id值获取专业名称 Brucex 07042243
function getProfessionallNameById(id) {
	if ( id )
	{
		//根据城市id生成上级id
		var pid = id.substring(0,2) + '00';
		//获取城市ids
		var ProfessionallIDs = getProfessionallIDs(pid);
		//获取城市names
		var ProfessionallNames = getProfessionallNames(pid);
		//返回城市名称
		return ProfessionallNames[getkey(id, ProfessionallIDs)];
	}
	else
	return '';
}

//获取value在array中的key
function getkey (v, arr) {
	for (i = 0; i < arr.length; i++) {
		if (arr[i] == v) {
			return i;
		}
	}
}