﻿/*
	File：智能二级联动选择框
	Author：elvis@dotop
	Update：3:53 2008-5-12
*/

function multSelectCls(arr, selectName, firstText, value1, value2, func)
{
	var dSelect = null, dSelect1 = null;
	var Arr = arr, divName = 'mscDiv_' + selectName, divObj = $(divName);
	var func = func;

	this.loadSelect = function()
	{
		dSelect = document.createElement('select');
		dSelect.setAttribute('name', selectName);
		dSelect.setAttribute('id', selectName);
		
		addEvent(dSelect, 'change', this.loadNextSelect);
		
		if(firstText) addOption(dSelect, 0, firstText);
		var tNum = 0, cNum = 0;
		for(var i = 0; i < Arr.length; i++)
		{
			var arr = Arr[i][0].toString().split('$');
			tNum = addOption(dSelect, arr[1], arr[0], value1);
			if(!cNum) cNum = tNum;
		}
		divObj.innerHTML = '';
		divObj.appendChild(dSelect);

		dSelect.options[cNum].selected = true;
		
		var tO = document.createTextNode(' ');
		divObj.appendChild(tO);
		
		this.loadNextSelect();
	}

	this.loadNextSelect = function()
	{
		if(!dSelect1)
		{
			dSelect1 = document.createElement('select');
			dSelect1.setAttribute('name', selectName + '_1');
			dSelect1.setAttribute('id', selectName + '_1');
			
			divObj.appendChild(dSelect1);
		}
		else
		{
			writeDebug('multSelectCls->func=' + func);
			if(func) func();
		}
		
		while(dSelect1.options.length) dSelect1.remove(0);
		
		var bID = dSelect.options.selectedIndex;
		writeDebug('loadNextSelect:bID=' + bID);
		var goRun = 1;
		if(firstText)
		{
			addOption(dSelect1, 0, firstText);
			if(!bID) goRun = 0;
		}
		
		var tNum = 0, cNum = 0;
		if(goRun)
		{
			if(firstText && bID) bID--;
			var tArr = Arr[bID];
			for(var i = 1; i < tArr.length; i++)
			{
				var arr = tArr[i].toString().split('$');
				tNum = addOption(dSelect1, arr[1], arr[0], value2);
				if(!cNum) cNum = tNum;
			}
		}
		
		if(dSelect1.options.length > 1)
		{
			dSelect1.style.display = '';
			dSelect1.options[cNum].selected = true;
		}
		else
		{
			dSelect1.style.display = 'none';
		}
	}

	this.loadSelect();
}

function loadSingleSelect(arr, selectName, value1, firstText, value2, childRead, layerNum, extInfo, extText)
{
	var dSelect = null, dSelect1 = null;
	var Arr = arr, divName = 'mscDiv_' + selectName, divObj = $(divName);
	if(!extText) extText = '';

	dSelect = document.createElement('select');
	dSelect.setAttribute('name', selectName);
	dSelect.setAttribute('id', selectName);
	
	if(firstText) addOption(dSelect, 0, firstText);
	var tNum = 0, cNum = 0;
	var MaxNum = (!layerNum ? Arr.length : layerNum);

	for(var i = 0; i < MaxNum; i++)
	{
		var arr = Arr[i][0].toString().split('$');
		tNum = addOption(dSelect, arr[1], arr[0] + extText, value1);
		if(!cNum) cNum = tNum;
		if(childRead)
		{
			for(var j = 1; j < Arr[i].length; j++)
			{
				arr = Arr[i][j].toString().split('$');
				tNum = addOption(dSelect, arr[1], arr[0] + extText, value1);
				if(!cNum) cNum = tNum;
			}
		}
		if(value2) addOption(dSelect, 0, value2, value1);
	}
	if(extInfo)
	{
		var tArr = extInfo.split('$$');
		for(var i = 0; i < tArr.length; i++)
		{
			var arr = tArr[i].toString().split('$');
			tNum = addOption(dSelect, arr[1], arr[0] + extText, value1);
			if(!cNum) cNum = tNum;
		}
	}
	divObj.innerHTML = '';
	divObj.appendChild(dSelect);

	dSelect.options[cNum].selected = true;
}
