function disable_all_fields(formobj, disableoption)
{
 	if (disableoption != false)
 		disableoption = true;
 		
 	for(var i=0; i<formobj.elements.length; i++)
	{
	 	formobj.elements[i].disabled = disableoption;
	}
}

function build_submit_string(formobj)
{
	var submitstr = "";

	for(var i=0; i<formobj.elements.length; i++)
	{
		var type = formobj.elements[i].type;

		if(type == "text" || type == "textarea" || 
		   type == "password" || type == "hidden")
		{
			submitstr += handleText(formobj.elements[i]) + "&";
		}
		else if(type == "radio")
		{
			var value = handleRadio(formobj.elements[i]);
			if(value != "")
				submitstr += value + "&";
		}
		else if(type == "checkbox")
		{
			var value = handleCheckbox(formobj.elements[i]);
			if(value != "")
				submitstr += value + "&";
		}
		else if(type == "select-one" || type == "select-multiple")
		{
			var value = handleSelect(formobj.elements[i]);
			if(value != "")
				submitstr += value;
		}
	}
	
	if(submitstr.charAt(submitstr.length-1) == "&")
		submitstr = submitstr.substring(0,submitstr.length-1);

	return(submitstr);
}

//Handles textbox, textarea, password and hidden functions...
function handleText(element)
{
	return element.name + "=" + escape(element.value);
}

//Handles radio buttons
function handleRadio(element)
{
	if(element.checked)
		return element.name + "=" + escape(element.value); 
	else
		return "";
}

//Handles Checkboxes...
function handleCheckbox(element)
{
	if(element.checked)
		return element.name + "=" + escape(element.value); 
	else
		return "";
}

//Handles single and multiple select boxes
//
//if value is set then this function will submit the value
//else it will submit the text of the option

function handleSelect(element)
{
	var string = "";

	if(element.type == "select-multiple")
	{
		for(var j=0;j<element.options.length;j++)
		{
			if(element.options[j].selected)
			{
				string += element.name + "=";
				if(element.options[j].value == null || element.options[j].value == "undefined" || element.options[j].value == "")
					string += escape(element.options[j].text) + "&";
				else
					string += escape(element.options[j].value) + "&";
			}
		}
	}
	else
	{
		if(element.selectedIndex > -1)
		{
			if(element.options[element.selectedIndex].value == null || element.options[element.selectedIndex].value == "undefined" || element.options[element.selectedIndex].value == "")
				string += element.name + "=" +escape(element.options[element.selectedIndex].text) + "&";
			else
				string += element.name + "=" +escape(element.options[element.selectedIndex].value) + "&";
		}
	}
	
	return string;
}


function check_change(statusmessageelementname, applyelement, formobj)
{
 	var retval = false;
 	var statusmessageelement = getElement(statusmessageelementname);
 	if (statusmessageelement)
	 	statusmessageelement.innerHTML = '';
 
	var submitstring = build_submit_string(formobj);
//	alert('submit='+submitstring+'   ele='+applyelement.id);
//	alert('display='+applyelement.style.display);
	if (submitstring == originalstring)
	{
		applyelement.style.display = 'none';
	}
	else
	{
	 	applyelement.style.display = '';
	 	retval = true;
	}
	return retval;
}


function getradioval(formobj, radioname)
{
 	var value = null;
 	
	for(var i=0; i<formobj.elements.length; i++)
	{
		var type = formobj.elements[i].type;
		var name = formobj.elements[i].name;

		if(type == "radio" && name == radioname)
		{
			if(formobj.elements[i].checked)
			{
				value = escape(formobj.elements[i].value); 
				break;
			}
		}
	}
	return value;
}

function setradioval(formobj, radioname, valuetoset)
{
	for(var i=0; i<formobj.elements.length; i++)
	{
		var type = formobj.elements[i].type;
		var name = formobj.elements[i].name;
		var value = formobj.elements[i].value;

		if(type == "radio" && name == radioname && value == valuetoset)
		{
			formobj.elements[i].checked = true;
			break;
		}
	}
	return value;
}