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 test(src)
{
	var emailReg = "^[\\w-_\.+]*[\\w-_\.]\@([\\w]+\\.)+[\\w]+[\\w]$";
	var regex = new RegExp(emailReg);
	return regex.test(src);
}

function checkEmail(inputvalue){
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	var chararray = [',', ';', ' ', '/'];
	
	inputvalue = inputvalue.trim();
	if(pattern.test(inputvalue)){      
	 	for (var i=0; i<chararray.length; i++)
		 {
		  	if (inputvalue.indexOf(chararray[i]) != -1)
		  		return false;
		 }   
		return true;   
	}else{   
		return false; 
 }
}

			
function check_change(statusmessageelementname, originalstring, applyelement, formobj)
{
 	var statusmessageelement = getElement(statusmessageelementname);
 	if (statusmessageelement)
	 	statusmessageelement.innerHTML = '';
 
	var submitstring = build_submit_string(formobj);
//	alert('submit='+submitstring+'  original='+originalstring+'  ele='+applyelement.id);
//	alert('display='+applyelement.style.display);
	if (submitstring == originalstring)
	{
		applyelement.style.display = 'none';
	}
	else
	{
	 	applyelement.style.display = '';
	}
}

function clearAllFields(formobj)
{
	for(var i=0; i<formobj.elements.length; i++)
	{
		var type = formobj.elements[i].type;
		if(type == "text" || type == "textarea" || type == "password")
		{
			formobj.elements[i].value = "";
		}
		else if(type == "radio" || type == "checkbox")
		{
			formobj.elements[i].checked = false;
		}
		else if(type == "select-one" || type == "select-multiple")
		{
			formobj.elements[i].selectedIndex = -1;
		}
	}
}
