
function popup(url, w, h, name)
{
	if (! w)
		w = 400
	if (! h)
		h = 600
	if (name == '')
		name = "popup"

	window.open(
		url,
		name,
		"status=1,toolbar=1,location=1,width="+w+",height="+h+",scrollbars=1,resizable=1,menubar=1"
	);

	return false;
}

function select_byindex(formname, sname, ind)
{
	var f = document.forms[formname]
	if (! f)
		return false
	var t = f[sname]
	if (! t)
		return false
	
	t.selectedIndex = ind
	return true
}

function select_byvalue(formname, sname, val)
{
	var f = document.forms[formname]
	if (! f)
		return false
	var t = f[sname]
	if (! t)
		return false
	
	for (var i = 0; i < t.options.length; ++i)
	{
		if (t.options[i].value == val)
		{
			t.selectedIndex = i
			break			
		}
	}
	return true
}

var s_frames = ""
	
function find_frame_r(fname, obj)
{
	if (! obj)
		return null
	if (! obj["frames"])
		return null

	for (var i = 0; i < obj.frames.length; ++i)
	{
		s_frames += i+":"+obj.frames[i].name+" "
		if (obj.frames[i].name == fname)
		{
			return obj.frames[i];
		}
		var r = find_frame_r(fname, obj.frames[i])
		if (r)
			return r;
	}
	return null
}

function find_frame(fname, obj)
{
	s_frames = ""

	if (! obj) obj = top

	var r = find_frame_r(fname, obj)
	if (r) return r

	if (window.opener)
	{
		return find_frame_r(fname, window.opener.top)
	}
	
	return null
}

function reload_frame(fname, obj)
{
	var f = find_frame(fname, obj)
	
//	alert("reload_frame: f="+f)
	
	if (f)
	{
		if (document.images)
			f.location.reload();
		else
			f.location.href = f.location.href;
		return true;
	}
	return false;
}

function run_in_frame(fname, fun, arg)
{
	var f = find_frame(fname)	
	
	if (! f) return

	if (f[fun])
	{
		var rc = eval("f."+fun+"(arg)");
		return rc;
	}
}

function run_in_opener(fun, arg)
{
	var f = window.opener
	
	if (! f) return

	if (f[fun])
	{
		var rc = eval("f."+fun+"(arg)");
		return rc
	}
}

function rnd_url()
{
	var time = new Date().getTime()
	return "rnd="+time;
}

