function formcheck(frm)
{
	errors = "";

  // if statements use to have !checkStringVal(frm.title.value) which is probably invalid js.
  
	if (frm.title.value==null||frm.title.value=="")
		errors = errors + "\nYou must supply your title";
	if (frm.first.value==null||frm.first.value=="")
		errors = errors + "\nYou must supply your first name";
	if (frm.surname.value==null||frm.surname.value=="")
		errors = errors + "\nYou must supply your surname";
	if (frm.company.value==null||frm.company.value=="")
		errors = errors + "\nYou must supply your company name";
	if (frm.Cpostaladdress.value==null||frm.Cpostaladdress.value=="")
		errors = errors + "\nYou must supply your company postal address";
	if (frm.Csuburb.value==null||frm.Csuburb.value=="")
		errors = errors + "\nYou must supply your company suburb";
	if (frm.Cstate.value==null||frm.Cstate.value=="")
		errors = errors + "\nYou must supply your company state";
	if (frm.Cpostcode.value==null||frm.Cpostcode.value=="")
		errors = errors + "\nYou must supply a valid postcode";
	if (frm.Ccountry.value==null||frm.Ccountry.value=="")
		errors = errors + "\nYou must supply a your country";
	if (frm.Cphone.value==null||frm.Cphone.value=="")
		errors = errors + "\nYou must supply a valid telephone number";
	if (frm.Cemail.value==null||frm.Cemail.value=="")
		errors = errors + "\nYou must supply a valid email address";

	if (errors != "") 
	{
		alert("Please fix the following issues:" + errors);
		return false;
	}
	else 
	{
		frm.submit.disabled = true;
		return true;
	}
}

function checkAwards(awd)
{
   for (i = 1; i < 12 ; i++)
   {
		if(document.getElementById("award" + i).checked)
			return true;
   }

   return false;
}

function checkStringVal(str)
{
	if (trim(str).length == 0)
		return false;
	else
		return true;
}

function checkDigitVal(d)
{
   var digits = new RegExp("[0-9]");

   return (d.search(digits) != -1);
}

function checkPhone(d)
{
   var digits = new RegExp("[0-9\(\)]");

   return (d.search(digits) != -1);
}

function emailCheck(emailStr) {
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);

if (matchArray==null) {
   return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
return false;
   }
}
if (user.match(userPat)==null) {
return false;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
return false;
   }
}
return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
return false;
   }
}


if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
return false;
}


if (len<2) {
return false;
}

 return true;
}

function phoneCheck(ph)
{

}

function trim(str)
{
	var done = false;
	var test = 0;
	var breaks = 15;//indefinite loop breaks
	//removing spaces at the beginning. this will take care of keywords with spaces only
	while(!done)
	{
		if(str.charAt(0)==" ")
			str = str.substr(1);
		else
			done = true;
		test++;
		if(test>=breaks) break;//hit the breaks if overlooping
	}
	return str;
}
