function sO(ownId,parentId,displayName,url)
{
	this.id = ownId;
	this.parentId = parentId;
	this.displayName = displayName;
	this.url = url;
}

function updateChildren(par,ch,opts,showAll)
{
	var args = arguments;
	var parid = par.value;
	j = 1;
	
	if (args.length>4)
	{
		j = args[4];  
	}
	
	var curn = ch.options.length;

	// check whether all options should be displayed for empty parent
	if (parid.length == 0 && showAll) 
	{
		for (i=0;i<opts.length;i++)
		{
			if (opts[i].parentId > 0)
			{
				if (j>=curn)
				{
					curn = addOption(ch);
				}
			
				ch.options[j].value=opts[i].id;
				ch.options[j++].text = opts[i].displayName;
			}
		}
	}
	else 
	{
		for (i=0;i<opts.length;i++)
		{
			if (opts[i].parentId == parid && parid > 0)
			{
				if (j>=curn)
				{
					curn = addOption(ch);
				}
				
				ch.options[j].value=opts[i].id;
				ch.options[j++].text = opts[i].displayName;
			}
		}
	}
	for (i=j;i<curn;i++) 
	{
		ch.options[j] = null;
	}
	
	ch.options[0].selected = true;
}

function addOption(f)
{
	var total = f.options.length;
	var newopt = new Option(total,total,false,false);
	f.options[total] = newopt;
	total = f.options.length;
	return total;
}

function initselectbox(formvar,valuelist,showAll)
{
	var args = arguments;
	var l = valuelist.length;
	j = 1;
	
	if (args.length>3)
	{
		j = args[3];  
	}
	
	var curn = formvar.options.length;
	
	for (i=0;i<l;i++)
	{
		if (valuelist[i].parentId == 0)
		{
			if (showAll) 
			{
				// do nothing: only show children
			}
			else 
			{
				if (j>=curn)
				{
					curn = addOption(formvar);
				}
				
				formvar.options[j].value=valuelist[i].id;
				formvar.options[j++].text = valuelist[i].displayName;
			}
		}
		else 
		{
			if (showAll) 
			{
				if (j>=curn)
				{
					curn = addOption(formvar);
				}
				
				formvar.options[j].value=valuelist[i].id;
				formvar.options[j++].text = valuelist[i].displayName;
			}
		}
	}
}

function setPreselected(sel,txt)
{
	for (var i =0;i<sel.options.length;i++) 
	{
		if (sel.options[i].text == txt) 
		{
			sel.options[i].selected = true;
		return true;
		}
	}
}

function setByValue(sel, value)
{
	for (var i =0;i<sel.options.length;i++) 
	{
		if (sel.options[i].value == value) 
		{
			sel.options[i].selected = true;
			return true;
		}
	}
}

function setByText(sel, text)
{
	for (var i =0;i<sel.options.length;i++) 
	{
		if (sel.options[i].text == text) 
		{
			sel.options[i].selected = true;
			return true;
		}
	}
}

function open1(newUrl) {

var open1 =

window.open(newUrl,'','scrollbars=yes,height=800,width=800,resizable=yes');

}


