
//
// ListControlDataBind.js 下拉框的JavaScript事件
//

// 默认的加载事件
function LoadAll()
{
	// 载入City
	PreLoadAllListControl("_City_",obj_City_JS_Array);
	// 载入Occupation
	PreLoadAllListControl("_Occupation_",obj_Occupation_JS_Array);
}
// 默认载入所有城市
function LoadAllCity()
{
	// 载入City
	PreLoadAllListControl("_City_",obj_City_JS_Array);
}
// 默认载入所有职业
function LoadAllOccupation()
{
	// 载入Occupation
	PreLoadAllListControl("_Occupation_",obj_Occupation_JS_Array);
}


function ListControlPageLoad(objType)
{
	var objLoadArray = null;
	if(objType == "city")
	{
		objLoadArray = obj_City_JS_Array;
		PreLoadAllListControl("_City_",objLoadArray);
	}
	else if(objType == "Occupation")
	{
		objLoadArray = obj_Occupation_JS_Array;
		PreLoadAllListControl("_Occupation_",objLoadArray);
	}
}

// 早期自动绑定
function PreLoadAllListControl(objPreID,objLoadArray)
{
	var i = 0;
	for(i = 0; true; ++i)
	{
		if(!PreLoadListControl(objPreID,i,objLoadArray))
		{
			// 0作为保留位
			if(i == 0)
				continue;
			else
				break;
		}
	}
}

// 绑定单向
function PreLoadListControl(objPreID,objIdx,objLoadArray)
{
	// 第一级DDL
	var objLcOne = null;
	var objLcTwo = null;
	var objTxt = null;
	var objLcOneDefaultText = "";
	var objLcTwoNoItemText = "";
	var objLcTwoAllItemText = "";
	
	objLcOne = $("ddl" + objPreID + objIdx + "1");
	objLcTwo = $("ddl" + objPreID + objIdx + "2");
	objTxt = $("txt" + objPreID + objIdx);
		
	if(objLcOne == null || objLcTwo == null || objTxt == null)
		return false;

	// 没有给值，按默认 //
	var objLcOneDefaultText_All = "";
	var objLcTwoNoItemText_All = "";
	var objLcTwoAllItemText_All = "";

	if($('lbl' + objPreID + "All_1") == null)
		objLcOneDefaultText_All = "--请选择--";
	else
		objLcOneDefaultText_All = $('lbl' + objPreID + "All_1").innerText;

	if($('lbl' + objPreID + "All_2") == null)
		objLcTwoNoItemText_All = "--请选择--";
	else
		objLcTwoNoItemText_All = $('lbl' + objPreID + "All_2").innerText;

	if($('lbl' + objPreID + "All_3") == null)
		objLcTwoAllItemText_All = "--全部--";
	else
		objLcTwoAllItemText_All = $('lbl' + objPreID + "All_3").innerText;
	
	

	if($('lbl' + objPreID + objIdx + "1") == null)
		objLcOneDefaultText = objLcOneDefaultText_All;
	else
		objLcOneDefaultText = $('lbl' + objPreID + objIdx + "1").innerText;

	// 没有给值，按默认 //
	if($('lbl' + objPreID + objIdx + "2") == null)
		objLcTwoNoItemText = objLcTwoNoItemText_All;
	else
		objLcTwoNoItemText = $('lbl' + objPreID + objIdx + "2").innerText;

	// 没有给值，按默认 //
	if($('lbl' + objPreID + objIdx + "3") == null)
		objLcTwoAllItemText = objLcTwoAllItemText_All;
	else
		objLcTwoAllItemText = $('lbl' + objPreID + objIdx + "3").innerText;
		
	//alert('dd');
	LoadListControl
		(
			objLcOne,objLcTwo,objTxt,
			objLcOneDefaultText,objLcTwoNoItemText,objLcTwoAllItemText,
			objLoadArray
		);

	return true;
}

// 绑定
function LoadDefaultListControl
	(objLcOne,objLcTwo,objTxt,objLoadArray)
{
	LoadListControl
		(objLcOne,objLcTwo,objTxt,
		"--请选择--","--请选择--","--全部--",objLoadArray);	
}

function LoadDefaultListControl2
	(objLcOne,objLcTwo,objTxt,objLoadArray)
{
	LoadListControl
		(objLcOne,objLcTwo,objTxt,
		"--请选择--","--请选择--",null,objLoadArray);	
}

function LoadListControl
	(
		objLcOne,
		objLcTwo,
		objTxt,
		objLcOneDefaultText,
		objLcTwoNoItemText,
		objLcTwoAllItemText,
		objLoadArray 
	)
{
	if(objLcOne == null || objLcTwo == null || objTxt == null) 
		return;
		
	var objTxtValue = objTxt.value;
	if(objTxtValue == "")
		objTxtValue = "0";

	var bIsFindParent = -1;
	
	// 清空下拉框的ITEM
	objLcOne.length = 0;
	objLcTwo.length = 0;
	
	var objLoadArrayOneLength = objLoadArray.length;

	// 写入第一层
	// 这个条件百分百成立
	// 固定0保留位
	if(objLoadArrayOneLength == 0)
		return;
		
	var op = document.createElement("OPTION");	
	
	if(objLcOneDefaultText == null)
		op.text = objLoadArray[0][0][0];
	else
		op.text = objLcOneDefaultText;
	
	op.value = objLoadArray[0][0][1];

	objLcOne.add(op);
	
	if(op.value == objTxtValue)
	{
		bIsFindParent = 0;
		
		op = document.createElement("OPTION");	
		
		if(objLcTwoNoItemText == null || objLcTwoNoItemText == "$NULL")
			op.text = objLoadArray[0][0][0];
		else
			op.text = objLcTwoNoItemText;
			
		op.value = objLoadArray[0][0][1];
	
		objLcTwo.add(op);
	}

	var i = 0;
	var objSelectedIndex = -1;
	for(i = 1; i < objLoadArrayOneLength; ++i)
	{
		//alert("LoadListControl = " + i);
		op = document.createElement("OPTION");	
		op.text = objLoadArray[i][0][0];;
		op.value = objLoadArray[i][0][1];

		objLcOne.add(op);
		
		if(bIsFindParent != -1)
			continue;
			
		objSelectedIndex = FindListControlByValue(objTxtValue,i,objLoadArray);

		if(objSelectedIndex == -1)
			continue;

		// alert("objSelectedIndex = " + objSelectedIndex);
		// alert("objTxtValue = " + objTxtValue);

			
		bIsFindParent = i;
		
		LoadListControlTwo(objLcTwo,objSelectedIndex,objLcTwoAllItemText,i,objLoadArray);
	}
	
	if(bIsFindParent >= 0 && bIsFindParent < objLoadArrayOneLength)
		objLcOne.selectedIndex = bIsFindParent;
}

function FindListControlByValue(objTxtValue,objIdx,objLoadArray)
{
	var objLoadArrayTwoLength = objLoadArray[objIdx].length;
	var i = 0;

	for(i = 0; i < objLoadArrayTwoLength; ++i)
	{
		if(objLoadArray[objIdx][i][1] == objTxtValue)
			return i;
	}
	return -1;
}

function LoadListControlTwo(objLcTwo,objSelectedIndex,objLcTwoAllItemText,objIdx,objLoadArray)
{
	if(objLcTwo == null)
		return;

	// 清空原先的ITEM项		
	objLcTwo.length = 0;
	
	var objLoadArrayTwoLength = objLoadArray[objIdx].length;
	
	if(objLoadArrayTwoLength == 0)
		return;


	var op = null;
	
	// 如果是$EMPTY
	//alert(objLcTwoAllItemText);
	if(objLcTwoAllItemText != "$EMPTY")
	{
		op = document.createElement("OPTION");	
		
		if(objLcTwoAllItemText == null || objLcTwoAllItemText == "$NULL")
			op.text = objLoadArray[objIdx][0][0];
		else
			op.text = objLcTwoAllItemText;
			
		op.value = objLoadArray[objIdx][0][1];
		
		objLcTwo.add(op);
	}
	else
	{
		// 没有头部（）
		objSelectedIndex -= 1;
	}

	var i = 0;
	for(i = 1; i < objLoadArrayTwoLength; ++i)
	{
		op = document.createElement("OPTION");	
		
		op.text = objLoadArray[objIdx][i][0];
		op.value = objLoadArray[objIdx][i][1];
		
		objLcTwo.add(op);
	}
	
	if(objSelectedIndex != -1)
		objLcTwo.selectedIndex = objSelectedIndex;
}

// -- 下拉框1的取值 --
function ListControlOneDefault0Change(objThis)
{
	//alert(objThis.id);
	
	if(objThis == null)
		return;
		
	var objTmp = objThis.id.substring(3);
	objTmp = objTmp.substring(0,objTmp.length-2);
	
	var objLoadArray = null;
	if(objTmp == "_City_")
		objLoadArray = obj_City_JS_Array;
	else if(objTmp == "_Occupation_")
		objLoadArray = obj_Occupation_JS_Array;
	else
		return;
		
	//alert(objTmp);

	ListControlOneDefault1Change(objThis,objLoadArray);
}

function ListControlOneDefault1Change(objThis,objLoadArray)
{
	if(objThis == null)
		return;
		
	var objTxtID = objThis.id.substring(3);
	objTxtID = "txt" + objTxtID.substring(0,objTxtID.length-1);
	
	ListControlOneDefault2Change(objThis,$(objTxtID),objLoadArray);
}
// -- 下拉框1的取值 --
function ListControlOneDefault2Change(objThis,objTxt,objLoadArray)
{
	if(objThis == null || objTxt == null)
		return;

	var objLcTwo = $(objThis.id.substring(0,objThis.id.length-1) + "2");
	if(objLcTwo == null)
		return;

	ListControlOneDefault3Change(objThis,objLcTwo,objTxt,objLoadArray);
}
// -- 下拉框1的取值 --
function ListControlOneDefault3Change(objThis,objLcTwo,objTxt,objLoadArray)
{
	if(objThis == null || objTxt == null || objLcTwo == null)
		return;
		
	// 取得objPreID
	// 取得objIdx
	var objTmp = objThis.id.substring(3);
	var objPreID = objTmp.substring(0,objTmp.length-2);
	var objTmp = objTmp.substring(0,objTmp.length-1);
	
	//alert(objPreID);
	//alert(objTmp);
	
	var objLcTwoNoItemText = "";
	var objLcTwoAllItemText = "";

	// 没有给值，按默认 //
	if($('lbl' + objTmp + "2") == null)
	{
		if($('lbl' + objPreID + "All_2") == null)
			objLcTwoNoItemText = "--请选择--";
		else
			objLcTwoNoItemText = $('lbl' + objPreID + "All_2").innerText;
	}
	else
		objLcTwoNoItemText = $('lbl' + objTmp + "2").innerText;
		
	// 没有给值，按默认 //
	if($('lbl' + objTmp + "3") == null)
	{
		if($('lbl' + objPreID + "All_3") == null)
			objLcTwoAllItemText = "--全部--";
		else
			objLcTwoAllItemText = $('lbl' + objPreID + "All_3").innerText;
	}
	else
		objLcTwoAllItemText = $('lbl' + objTmp + "3").innerText;
		
	//alert(objLcTwoAllItemText);
	ListControlOneChange(objThis,objLcTwo,objTxt,objLcTwoNoItemText,objLcTwoAllItemText,objLoadArray);	
}

function ListControlOneChange(objThis,objLcTwo,objTxt,objLcTwoNoItemText,objLcTwoAllItemText,objLoadArray)
{
	if(objThis == null || objTxt == null || objLcTwo == null)
		return;
	objThis.options[0].text = "请选择";
		
	// 选项为0
	if(objThis.selectedIndex == 0)
	{
		objLcTwo.length = 0;
		var op = document.createElement("OPTION");	
		
		if(objLcTwoNoItemText == null || objLcTwoNoItemText == "$NULL")
			op.text = objLoadArray[0][0][0];
		else
			op.text = objLcTwoNoItemText;
			
		op.value = objLoadArray[0][0][1];
	
		objLcTwo.add(op);
	}
	else
	{
		LoadListControlTwo(objLcTwo,0,objLcTwoAllItemText,objThis.selectedIndex,objLoadArray);
	}
		
	objLcTwo.selectedIndex = 0;
	objTxt.value = objLcTwo.value;	
}

// -- 下拉框2的取值 --
function ListControlDefaultTwoChange(objThis)
{
	if(objThis == null)
		return;
		
	var objTxtID = objThis.id.substring(3);
	objTxtID = "txt" + objTxtID.substring(0,objTxtID.length-1);
	
	ListControlTwoChange(objThis,$(objTxtID));
}
// -- 下拉框2的取值 --
function ListControlTwoChange(objThis,objTxt)
{
	if(objThis == null || objTxt == null)
		return false;

	objTxt.value = objThis.value;
}

