function defined(obj)
{
	return typeof obj != "undefined";
}

function empty(obj)
{
	return !defined(obj)||obj==""||obj==null;
}

function is_function(name)
{
	return typeof name == 'function'
} 

function getElementById(doc,name)
{
	if(doc.getElementById)
		return doc.getElementById(name);
	else if(doc.all)
		return doc.all[name];
	return null;
}

function getContext()
{
	if(window.name=='interface')
		return window.document;
	var interface = window.parent.frames["interface"];
	if(typeof(interface)=="undefined") interface = parent;
	return interface.document;
}

function build_form_request(form)
{
	var req = "";
	for(var i = 0; i < form.elements.length; i++)
	{
		if(defined(form.elements[i].type)) switch(form.elements[i].type)
		{
			case "text":
			case "textarea":
			case "hidden":
				if(req!="")
					req += "&";
				req += (form.elements[i].name + "=" + encodeURI(form.elements[i].value));
				break;
			case "select-one":
				if(form.elements[i].selectedIndex>=0)
				{
					if(req!="")
						req += "&";
					req += (form.elements[i].name + "=" + encodeURI(form.elements[i].options[form.elements[i].selectedIndex].value));
				}
				break;
			case "radio":
			case "checkbox":
				if(form.elements[i].checked)
				{
					if(req!="")
						req += "&";
					req += (form.elements[i].name + "=" + encodeURI(form.elements[i].value));
				}
				break;
		}
		else if(defined(form.elements[i].push))
		{
			for(var j = 0; j < form.elements[i].length; j++)
			{
				if(form.elements[i][j].checked)
					req += (form.elements[i][j].name + "=" + encodeURI(form.elements[i][j].value));
			}
		}			
	}
	return req;
}

