function allFillSelect(what)
{
	par=eval("par"+what)
	frm=eval("frm"+what)
	frm.length = 0;
	for(a=1;a<par.length;a++)
	{
		opt=new Option(par[a+what], par[a]);
		j = frm.length;
		frm[j]=opt;		
		a=a+what+1
	}
}
function getSelNumber(sel)
{
	testnumber=0;
	gotnumber=0;
	while(!gotnumber)
	{
		testnumber++;
		if(eval("frm"+testnumber).name == sel.name)gotnumber=1;
	}
	return testnumber;
}
function changeData(what)
{
	par=eval("par"+what)
	frm=eval("frm"+what)
	frm.length = 0;
	for(a=1;a<par.length;a++)
	{
		opt=new Option(par[a+what], par[a]);
		j = frm.length;
		frm[j]=opt;		
		a=a+what
	}
}
function getSelValue(sel)
{
	if (sel.selectedIndex == -1) return ("");
	return sel[sel.selectedIndex].value;
}
function getArrayItem(sel) // Returns the first item in the array for the selected record.
{
	parv=getSelNumber(sel)
	par=eval("par"+(parv))
	parv+=2
	
	pitem=getSelValue(sel)
	
	for(_a=1;_a<par.length;_a++)
	{	
		if(par[_a]==pitem)return _a
		_a+=parv-1
	}
	return false
}
function pdchange(sel)
{
	num=getSelNumber(sel)
	for(x=num;x<SelectCount;x++)
	{
		par=eval("par"+(x+1))
		frm=eval("frm"+(x+1))
		frm.length=0;
		for(a=1;a<par.length;a++)
		{
			if(getSelValue(sel)==par[a+1])
			{
				opt=new Option(par[a+(x+1)], par[a]);
				j = frm.length;
				frm[j]=opt;
			}
			a=a+(x+2)
		}
	}
	par=eval("par"+getSelNumber(sel))
	parv=getSelNumber(sel)
	lnk=par[getArrayItem(sel)+parv-2];
	if(parv == 3)
	{
		switch(lnk)
		{
			case "Select a State":
				document.forms[0].state.value = "Select a State";
			break
			case "Australian Capital Territory":
				document.forms[0].state.value = "ACT";
			break
			case "New South Wales":
				document.forms[0].state.value = "NSW";
			break
			case "Northern Territory":
				document.forms[0].state.value = "NT";
			break
			case "Queensland":
				document.forms[0].state.value = "QLD";
			break
			case "South Australia":
				document.forms[0].state.value = "SA";
			break
			case "Tasmania":
				document.forms[0].state.value = "TAS";
			break
			case "Victoria":
				document.forms[0].state.value = "VIC";
			break
			case "Western Australia":
				document.forms[0].state.value = "WA";
			break
		}
		
		document.forms[0].suburb.value = "";
	}
	if(parv == 4)
	{
		document.forms[0].suburb.value = lnk;
	}		
		
	if(lnk)
	{
		//location.href=lnk
		//alert(parv);
	}
	
}
function pdcclick(sel)
{
	num=getSelNumber(sel)
	for(x=num;x<SelectCount;x++)
	{
		par=eval("par"+(x+1))
		frm=eval("frm"+(x+1))
		frm.length=0;
		for(a=1;a<par.length;a++)
		{
			if(getSelValue(sel)==par[a+1])
			{
				opt=new Option(par[a+(x+1)], par[a]);
				j = frm.length;
				frm[j]=opt;
			}
			a=a+(x+2)
		}
	}

	par=eval("par"+getSelNumber(sel))
	parv=getSelNumber(sel)
	lnk=par[getArrayItem(sel)+parv-1];
	if(lnk)
	{
		//location.href=lnk
		//alert(lnk)
	}	
}


function pdSet(sel, txt, bywhat)
{
	allFillSelect(sel)
	frm=eval("frm"+sel)
	for(a=0;a<frm.length;a++)
	{
		if((bywhat=="text" && frm[a].text==txt) || (bywhat=="id" && frm[a].value==txt))
		{
			frm.selectedIndex=a
			pdchange(frm)
		}
	}
}

function pdSetByText(sel,txt)
{
	allFillSelect(sel)
	frm=eval("frm"+sel)
	for(a=0;a<frm.length;a++)
	{
		if(frm[a].text==txt)	
		{
			frm.selectedIndex=a
			pdchange(frm)
		}
	}
}

function pdSetByID(sel,txt)
{
	allFillSelect(sel)
	frm=eval("frm"+sel)
	for(a=0;a<frm.length;a++)
	{
		if(frm[a].value==txt)	
		{
			frm.selectedIndex=a
			pdchange(frm)
		}
	}
}
