function validateMember(form)
{
	errorStr = "";
	borderStyle = "2px solid #c30";
	error = false;
	
	if(form.firstname.value == ""){
		form.firstname.value = "";
		form.firstname.style.border = borderStyle;
		error = true;
	}
	if(form.lastname.value == ""){
		form.lastname.value = "";
		form.lastname.style.border = borderStyle;
		error = true;
	}
	if(form.business_position.value == ""){
		form.business_position.value = "";
		form.business_position.style.border = borderStyle;
		error = true;
	}
	if(form.business_name.value == ""){
		form.business_name.value = "";
		form.business_name.style.border = borderStyle;
		error = true;
	}
	if(! isValidEmailAddress(form.email.value)){
		form.email.value = "";
		form.email.style.border = borderStyle;
		error = true;
	}

	var radioSelected = false;
	for (var i=0; i<form.interest_id.length; i++) { 
	 if (form.interest_id[i].checked) radioSelected = true; 
	} 
	if (!radioSelected) { 
	 alert("Please select an interest area"); 
	 return false; 
	}

	//alert(form.optin_post_value.value);
	if(form.optin_post_value.value == 1)
	{
		if(form.address.value == ""){
			form.address.value = "";
			form.address.style.border = borderStyle;
			error = true;
		}
		if(form.postcode.value == ""){
			form.postcode.value = "";
			form.postcode.style.border = borderStyle;
			error = true;
		}
	}
	else
	{
		form.address.style.border = "1px solid #000";
		form.postcode.style.border = "1px solid #000";
	}
	if(error == true){
		//completedStr = "The following fields are empty.\n\n" + errorStr;
		//alert(completedStr);
		return false;
	}else{
		return true;
	}
}

function eventRegistrationValidate(form)
{
	errorStr = "";
	error = false;
	borderStyle = "2px solid #c30";

	if(form.firstname.value == ""){
		form.firstname.value = "";
		form.firstname.style.border = borderStyle;
		error = true;
	}
	if(form.lastname.value == ""){
		form.lastname.value = "";
		form.lastname.style.border = borderStyle;
		error = true;
	}
	if(form.business_position.value == ""){
		form.business_position.value = "";
		form.business_position.style.border = borderStyle;
		error = true;
	}
	if(form.business_name.value == ""){
		form.business_name.value = "";
		form.business_name.style.border = borderStyle;
		error = true;
	}
	if(form.address.value == ""){
		form.address.value = "";
		form.address.style.border = borderStyle;
		error = true;
	}
	if(form.postcode.value == ""){
		form.postcode.value = "";
		form.postcode.style.border = borderStyle;
		error = true;
	}
	if(form.telephone.value == ""){
		form.telephone.value = "";
		form.telephone.style.border = borderStyle;
		error = true;
	}
	if(! isValidEmailAddress(form.email.value)){
		form.email.value = "";
		form.email.style.border = borderStyle;
		error = true;
	}

	if(error == true){
		//completedStr = "The following fields are empty.\n\n" + errorStr;
		//alert(completedStr);
		return false;
	}else{
		return true;
	}
}

function clearField(fieldname)
{
	x = eval('document.initial_registration.'+fieldname);
	//alert(x)
	x.value = "";
}


function isValidEmailAddress(emailAddress)
{
   /* Check for empty address or invalid characters */
   if (emailAddress == "" || hasInvalidChar(emailAddress))
   {
      return false;
   }

   /* check for presence of the @ character */
   var atPos = emailAddress.indexOf("@", 1)
   if (atPos == -1)
   {
      return false;
   }
   
   /* Check that there are no more @ characters */
   if (emailAddress.indexOf("@", atPos + 1) > -1)
   {
      return false;
   }

   /* Check for the presence of a dot somewhere after @ */
   var dotPos = emailAddress.indexOf(".", atPos + 1);
   if (dotPos == -1)
   {
      return false;
   }

   /* Check for presence of two or more characters after last dot */
   var lastDotPos = emailAddress.lastIndexOf(".");
   if (lastDotPos + 3 >  emailAddress.length)
   {
      return false;
   }
   return true;
}

function hasInvalidChar(emailAddress)
{
   var invalidChars = "/;:,"; // this list is not complete

   for (var k = 0; k < invalidChars.length; k++)
   {
      var ch = invalidChars.charAt(k);
      if (emailAddress.indexOf(ch) > -1)
      {
         return true;
      }
   }
   return false;
}
