
function initSaveFields(){
	var rval = true;

  rval = checkForm();

	if (!validateRegInterestForm(getForm())) {
  	rval = false;
  }
  return rval;
}  

function checkForm() {

  var formOk = false;
  var manualCheckOk = true;
  var frmObj = getForm();

  manualCheckOk = manualCheckOmissions();  

  var anySelected = false;	
	for (i=0;i < frmObj.obj_prefInp.length; ++i){
    anySelected = frmObj.obj_prefInp[i].checked;
    if (anySelected){
      break;
    }
  }
  if (!anySelected) {
  	alert("You have not registered any interests.");
	} else {
	  formOk = manualCheckOk;
	}
  return formOk;
}  

function manualCheckOmissions() {

  var manualCheckOk = true;
  var frmObj = getForm();
  var omissions = "";

  var adminLogon = isAdmin() || isDistrictAdmin() || isSchoolAdmin();
  var postalRequired = false;
  
  if (adminLogon == true){
  
    if(frmObj.obj_emailAddr.value == ""){
    	postalRequired = true;
    } else {
    	postalRequired = false;
    }
  
    omissions += checkPostal(postalRequired);
    
    if (omissions != ""){
      var tmptxt = "";
    	tmptxt = "Either an Email Address must be entered or the";
    	tmptxt += " full details for the Postal Address must be entered.\n";
    	omissions = tmptxt + omissions;
	  	omissions += checkEmailAddr();
    }
    
  } else {

  	omissions += checkEmailAddr();
   	postalRequired = false;
    omissions += checkPostal(postalRequired);
  
  }
  
	if (omissions != ""){
    manualCheckOk = false;
		alert(omissions);		
	}
	
	return manualCheckOk;
}

function checkEmailAddr(){
  var omissions = "";
  if(frmObj.obj_emailAddr.value == ""){
  	omissions += "Email Address is required.\n";
	}
  return omissions;
}

function checkPostal(mandatory){

  var omissions = "";
  var missingFieldCnt = 0;
  
	if(frmObj.obj_homeAddrLine1.value == ""){ 
		++missingFieldCnt;
	  omissions += "Postal Address is required.\n";
	}
	if(frmObj.obj_homeAddrLine2.value == ""){ 
		++missingFieldCnt;
	   omissions += "Suburb/Town is required.\n";
	}
	if(frmObj.obj_homeAddrState.value == ""){ 
		++missingFieldCnt;
	   omissions += "State is required.\n";
	}
	if(frmObj.obj_homeAddrPCode.value == ""){ 
		++missingFieldCnt;
	   omissions += "PostCode is required.\n";
	}
	
	if ((missingFieldCnt == 4) && (mandatory == false)){
		omissions = "";
	}
	
	return omissions;
}


