	var requiredword = "required";
	var otherkeyword = "other"; //lowercase

	function validateEmail( email )
	{
		var emailtemp = email.value;
		var emailfilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-\_\.])+\.)+([a-zA-Z0-9]{2,4})+\s*$/;
		return emailfilter.test(emailtemp);
	}

	function validatePhone( phone )
	{
		var phonetemp = phone.value;
		phonetemp = phonetemp.replace(/[\-\. ()\_\+]/g, "");
		numbers = /^\d{7,}$/;
		return numbers.test(phonetemp);
	}


	function validateNotEmpty( str )
	{
		exp = /.+/;
		return exp.test(str.value);
	}

	function validateZip( zip )
	{
		return validateNotEmpty(zip);
	}

	function validateDropDown( dropdown, other )
	{

		if( dropdown.options[dropdown.selectedIndex].value == "" )
			return false;

		if( dropdown.options[dropdown.selectedIndex].text.toLowerCase().indexOf(otherkeyword) != -1 && other != null){
			if (!validateNotEmpty(other))
				return false;
				
		}

		return true;
	}

	function validateForm(frmToValidate, section)
	{
		var frm      = document.getElementById(frmToValidate);
		var errorMsg = "";
		
		for(i = 0; i < frm.elements.length; i++)
		{
			fields   = null;
			required = false;

			if (frm.elements[i].className.indexOf(requiredword) == 0)
			{
				fields   = (frm.elements[i].className.substr(requiredword.length+1)).split(" ");
				required = true;
			}
			else
			{
				fields = frm.elements[i].className.split(" ");
			}

			if (fields[1] == section || section == null)
			{
				switch (fields[0])
				{
					case 'email':
						if(required || frm.elements[i].value != "")
						{
							if( !validateEmail(frm.elements[i]) )
							{
								errorMsg += "'" + frm.elements[i].title + "' is required.<br>\n";
							}
						}
					break;
					case 'phone':
						if(required || frm.elements[i].value != "")
						{
							if( !validatePhone(frm.elements[i]) )
							{
								errorMsg += "'" + frm.elements[i].title + "' is required.<br>\n";
							}
						}
					break;
					case 'text':
						if(required)
						{
							if( !validateNotEmpty(frm.elements[i]) )
							{
								errorMsg += "'" + frm.elements[i].title + "' is required.<br>\n";
							}
						}
					break;
					case 'zipcode':
						if(required || frm.elements[i].value != "")
						{
							if( !validateZip(frm.elements[i]) )
							{
								errorMsg += "'" + frm.elements[i].title + "' is required.<br>\n";
							}
						}
					break;
					case 'dropdown':
						if(required || frm.elements[i].options[frm.elements[i].selectedIndex].value != "" )
						{
							other = null;

							if(fields.length == 3 && fields[2] != "noother") { other = document.getElementById(fields[2]); }
	
							if( !validateDropDown( frm.elements[i], other ) )
							{
								errorMsg += "'" + frm.elements[i].title + "' is required.<br>\n";
							}
						}
					break;
					default:
					break;
				}
			}
		}
		
		if(errorMsg == "")
			return true;
		else
		{
			displayAlert("<br><br>" + errorMsg);
			return false;
		}
		
	}

function registerUser(sUrl){


		YAHOO.util.Connect.setForm(ssoForm);	

		var sUrl = "/sso/userRegister.jsp";

		YAHOO.util.Connect.asyncRequest('POST', sUrl, returnStatus);


}
	
	validStatus = function(e){
		//e.responseText
	}
	
	invalidStatus = function(e){
		//e.responseText
	}
	
	returnStatus = { 

		success: validStatus, 

		failure: invalidStatus,

		argument: {} 

	};
