?function debug(info)
{
	//alert(info);
}

function LianDong(arr, sel)
{
	var me = this;
	debug("arr.length="+arr.length+"/sel.length="+sel.length);
	this.$ = function(o)
	{
		//debug("document.getElementById(o)="+document.getElementById(o).name);
		return document.getElementById(o);
	}

	this.sub = function (i, pid)
	{
		debug("i="+i+"/pid="+pid);
		for (var j=i+1; j<sel.length; j++)
		{
			me.$(sel[j]).length = 0;
			me.$(sel[j]).options[0] = new Option("?????", "");
		}
		debug("added first line");
		for ( var j = 0; j < arr.length; j++)
		{
			if (arr[j][1] == pid)
			{
				me.$(sel[i+1]).options[me.$(sel[i+1]).length] = new Option(arr[j][2], arr[j][0]);
			}
		}
	}

	this.init = function()
	{
		me.sub(-1,"root");
		debug("end sub ...");
		for (var i=0; i<sel.length-1; i++)
		{
			me.$(sel[i]).onchange = function()
			{
				var i;
				for (i=0; me.$(sel[i])!=this; i++);
					me.sub(i, me.$(sel[i]).value);
			}
		}
	}


	this.SetValue = function()
	{
		for (var i=0; i<arguments.length-1; i++)
		{
			me.$(sel[i]).value = arguments[i];
			me.sub(i, me.$(sel[i]).value);
		}
		me.$(sel[arguments.length-1]).value = arguments[arguments.length-1];
	}

	this.init();
}
