function chkform(trgtfrm)
{
	var errmess="";
	var focuselm=false;
	var ok=false;
	var gotGST=false;
	for(var x=0;x<trgtfrm.elements.length;x++)
	{
		ok=true;
		//alert(trgtfrm.elements[x].name + trgtfrm.elements[x].type);
		switch(trgtfrm.elements[x].name)
		{
			case "users#uname":
				var origlen=trgtfrm.elements[x].value.length;
				ok = validuname(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Username : Enter a Username of between 4 and 20 characters (a-z A-Z 0-9 . - _).\n";
				}
				else
				{
					if(origlen != trgtfrm.elements[x].value.length)
					{
						errmess += "Username : NOTE your username has had illegal characters removed.\n";
					}
				}
			break;
			case "users#passwd":
				ok = validpasswd(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Password : Enter a password of between 8 and 20 alphanumeric (a-z 0-9) characters.\n";
				}
			break;
			case "user_details#sname":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Surname: Your Surname is required.\n";
				}
			break;
			case "user_details#cname":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "First Name: Your First Name is required.\n";
				}
			break;
			case "user_details#addr1":
				if(trgtfrm.elements[x].value.length < 6)
				{
					ok=false;
					errmess += "Street Address: Your full residential address is required.\n";
				}
			break;
			case "user_details#city":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Address - City: Your full residentail address is required.\n";
				}
			break;
			case "user_details#state":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Address - State: Your full residentail address is required.\n";
				}
			break;
			case "user_details#pcode":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Address - Post Code: Your full residentail address is required.\n";
				}
			break;
			case "user_details#gstinc":
				//ok = getRadioState(trgtfrm.elements[x]);
				if(trgtfrm.elements[x].checked)
				{
						gotGST=true;
				}
			break;
			case "user_details#phone":
				ok = notempty(trgtfrm.elements[x]);
				if(!ok)
				{
					errmess += "Phone Number: Your phone number is required for support.\n";
				}
			break;
			case "user_details#email":
				ok = validemail(trgtfrm.elements[x],true);
				if(!ok)
				{
					errmess += "Email Address: Please enter a valid e-mail address eg john@smith.com\n";
				}
			break;
		}
		if(!ok)
		{
			trgtfrm.elements[x].style.borderColor='red';
			if(!focuselm)
			{
				trgtfrm.elements[x].focus();
				focuselm=true;
			}
		}
		else
		{
			trgtfrm.elements[x].style.borderColor='';
		}
	}
	if(!gotGST)
	{
		errmess += "Please Confirm Residency for purposes of GST.\n";
		document.getElementById('gstset').style.borderColor="red";
	}
	else
	{
		document.getElementById('gstset').style.borderColor="";
	}
	if(errmess.length > 0)
	{
		alert("Please check the following :\n\n" + errmess + "\n");
		return false;
	}
	else
	{
		return true;
	}
}