/* Generic check email function*/
function checkEmail(emailAddy) {
  if (emailAddy.value.length==0)
  {
    return true ;
  }
  if (emailAddy.value.indexOf("@",0) < 1 || emailAddy.value.indexOf(".",0) < 1)
  {
    alert("Please check the field:\n The email address appears incorrectly formed") ;
    emailAddy.focus() ;
	return false ;
  }
  return true ;
}

/* Function to check if year is valid ie. Initial value of "Year" or otherwise it must be a 
   numeric. Don't worry if the person believes they are a few centuries old! */
function checkYear(numberField) {
  allNumeric=true ;
  if (numberField.value.length==0 || numberField.value=="Year")
  {
    return true ;
  }

  for (i=0 ; i<numberField.value.length ; i++)  {    checkChar=numberField.value.charAt(i) ;
    if (checkChar<'0' || checkChar>'9')
	{
	  allNumeric=false ;
	}  
  }
  
  if (allNumeric==false)
  {
    alert("Please check the field:\n Only numbers permitted");
	numberField.focus() ;
	return false ;
  }
  
  return true ;
}

/* generic check for number(ie 0-9) */
function checkNumber(numberField) {
  allNumeric=true ;
  if (numberField.value.length==0)
  {
    return true ;
  }

  for (i=0 ; i<numberField.value.length ; i++)  {    checkChar=numberField.value.charAt(i) ;
    if (checkChar<'0' || checkChar>'9')
	{
	  allNumeric=false ;
	}  
  }
  
  if (allNumeric==false)
  {
    alert("Please check the field:\n Only numbers permitted");
	numberField.value = "";
	numberField.focus(numberField);
	return false ;
  }
  return true ;
}

/* generic phone number checker allowing brackets for prefix */
function checkPhone(phoneField) {
  allNumeric=true ;
  if (phoneField.value.length==0)
  {
    return true ;
  }
  
  for (i=0 ; i<phoneField.value.length ; i++)  {    checkChar=phoneField.value.charAt(i) ;
    if (checkChar!=' ' && checkChar!='\(' && checkChar!='\)'  && (checkChar<'0' || checkChar>'9') )
	{
	  allNumeric=false ;
	}  
  }
  
  if (allNumeric==false)
  {
    alert("Please check the field:\n Only numbers, spaces and \(\) permitted");
	phoneField.focus() ;
	return false ;
  }
  return true ;
}

/* Special purpose routine to check the fields that are supposed to be filled have been filled
   or else return back to the form. */
function registrationForm(register) {
	allCorrect=true ;
	
	if (register.Title.value=="" || 
	  register.FamilyName.value=="" ||
	  register.FirstName.value=="" ||
	  register.BadgeName.value=="" ||
	  register.Organisation.value=="" ||
	  register.Address1.value=="" ||
	  register.SuburbCity.value=="" ||
	  register.State.value=="" ||
	  register.Postcode.value=="" ||
	  register.Country.value=="" ||
	  register.Email.value=="" ||
	  register.PhoneB.value=="") {
	  allCorrect=false ;
	}
	if (allCorrect==false)
	{
		alert("Please fill in all fields marked *") ;
		return false ;
	} 
	
	allCorrect=false;
	for(r=0;r<register.RegistrationAmt.length; r++){
		if (register.RegistrationAmt[r].checked) {
			allCorrect = true;
		}
	}
	if (allCorrect==false)
	{
		alert("Please select a registration type.") ;
		return false ;
	} 
	return true ;
}


function addTotal() { 
	if (document.getElementById('RegistrationAmt').checked) {
		document.getElementById('PaymentAmount').value = Number(document.getElementById('RegistrationAmt').value) + (Number(document.getElementById('AddOnQ1').value) * 120);
	}
	else if (document.getElementById('RegistrationAmtStudent').checked) {
		document.getElementById('PaymentAmount').value = Number(document.getElementById('RegistrationAmtStudent').value) + (Number(document.getElementById('AddOnQ1').value) * 120);
	}
}
