<!-- Begin
function postit(){ //check postcode format is valid
 test = document.update.Post_Code.value; size = test.length
 test = test.toUpperCase(); //Change to uppercase
 while (test.slice(0,1) == " ") //Strip leading spaces
  {test = test.substr(1,size-1);size = test.length
  }
 while(test.slice(size-1,size)== " ") //Strip trailing spaces
  {test = test.substr(0,size-1);size = test.length
  }
 document.update.Post_Code.value = test; //write back to form field
 if (size < 6 || size > 8){ //Code length rule
  alert(test + " is not a valid postcode - wrong length");
  document.update.Post_Code.focus();
  return false;
  }
 if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
   alert(test + " is not a valid postcode - cannot start with a number");
   document.update.Post_Code.focus();
   return false;
  }
 if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
   alert(test + " is not a valid postcode - alpha character in wrong position");
   document.update.Post_Code.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position");
   document.update.Post_Code.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position");
   document.update.Post_Code.focus();
   return false;
  }
 if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
   alert(test + " is not a valid postcode - no space or space in wrong position");
   document.update.Post_Code.focus();
   return false;
   }
 count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
 if (count1 != count2){//only one space rule
   alert(test + " is not a valid postcode - only one space allowed");
   document.update.Post_Code.focus();
   return false;
  }

return true;
}
//  End -->

<!-- Begin
function postit2(){ //check postcode format is valid
 test = document.update.Church_P_Code.value; size = test.length
 test = test.toUpperCase(); //Change to uppercase
 while (test.slice(0,1) == " ") //Strip leading spaces
  {test = test.substr(1,size-1);size = test.length
  }
 while(test.slice(size-1,size)== " ") //Strip trailing spaces
  {test = test.substr(0,size-1);size = test.length
  }
 document.update.Church_P_Code.value = test; //write back to form field
 if (size < 6 || size > 8){ //Code length rule
  alert(test + " is not a valid postcode - wrong length");
  document.update.Church_P_Code.focus();
  return false;
  }
 if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
   alert(test + " is not a valid postcode - cannot start with a number");
   document.update.Church_P_Code.focus();
   return false;
  }
 if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
   alert(test + " is not a valid postcode - alpha character in wrong position");
   document.update.Church_P_Code.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position");
   document.update.Church_P_Code.focus();
   return false;
  }
 if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
   alert(test + " is not a valid postcode - number in wrong position");
   document.update.Church_P_Code.focus();
   return false;
  }
 if (!(test.charAt(size-4) == " ")){//space in position length-3 rule
   alert(test + " is not a valid postcode - no space or space in wrong position");
   document.update.Church_P_Code.focus();
   return false;
   }
 count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
 if (count1 != count2){//only one space rule
   alert(test + " is not a valid postcode - only one space allowed");
   document.update.Church_P_Code.focus();
   return false;
  }

return true;
}
//  End -->



function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
  result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
var result = true;
  
if (formField.value == "" || formField.value == "Name" || formField.value == "Message"  || formField.value == "0000")
{
alert('Please enter a value for the "' + fieldLabel +'" field.');
formField.focus();
result = false;
}
  var myindex=document.complex.OS.selectedIndex;
if (myindex==0)
{
alert('Please select an option from the drop down menu');
formField.focus();
result = false;
}
return result;
}




function validEmail(formField,fieldLabel,required)
{
  var result = true;
  
  if (required && !validRequired(formField,fieldLabel))
    result = false;

  if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
  {
    alert("Please enter a valid e-mail address");
    formField.focus();
    result = false;
  }
   
  return result;

}


function validMax(formField,NumMax,required)
{
  var result = true;
 
  if (result && (formField.value.length != NumMax))
  {
    alert("Not Valid!  Please check the Registration numbers");
    formField.focus();
    result = false;
  }
   
  return result;

}




function validNum(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;
  
   if (result)
   {
     var num = parseInt(formField.value,10);
     if (isNaN(num))
     {
       alert('Please enter a valid number for ' + fieldLabel );
      formField.focus();    
      result = false;
    }
  } 
  
  return result;
}

function validDate(formField,fieldLabel,required)
{
  var result = true;

  if (required && !validRequired(formField,fieldLabel))
    result = false;
  
   if (result)
   {
     var elems = formField.value.split("/");
     
     result = (elems.length == 3); // should be three components
     
     if (result)
     {
       var month = parseInt(elems[0],10);
        var day = parseInt(elems[1],10);
       var year = parseInt(elems[2],10);
      result = !isNaN(month) && (month > 0) && (month < 13) &&
            !isNaN(day) && (day > 0) && (day < 32) &&
            !isNaN(year) && (elems[2].length == 4);
     }
     
      if (!result)
     {
       alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
      formField.focus();    
    }
  } 
  
  return result;  
}



function validateForm(theForm)
{



if (!validNum(theForm.v41,"Registration number",true))
    return false;

if (!validMax(theForm.v41,4,true))
    return false;

if (!validNum(theForm.v42,"Registration number",true))
    return false;

if (!validMax(theForm.v42,4,true))
    return false;

if (!validNum(theForm.v43,"Registration number",true))
    return false;
    
if (!validMax(theForm.v43,4,true))
    return false;

if (!validNum(theForm.v44,"Registration number",true))
    return false;

if (!validMax(theForm.v44,4,true))
    return false;

if (!validNum(theForm.v45,"Registration number",true))
    return false;
    
if (!validMax(theForm.v45,4,true))
    return false;
    
if (!validRequired(theForm.name,"Name"))
    return false;
        
if (!validEmail(theForm.email,"E-mail",true))
    return false;

if (!validRequired(theForm.message,"Message"))
    return false;
    
if (document.complex.updated4[0].checked || document.complex.updated4[1].checked)
    return true;
    else
{alert('Please select whether updated SongPro')}
   return false;
    
   return true;
}

<!-- Begin
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
//  End -->



function showIt() {
if (document.update.Current_Version_Number.value==3){
document.update.Current_Registration_Number.style.visibility="visible"; 
document.update.reg2.style.visibility="visible";
document.update.reg3.style.visibility="visible";
} else {
document.update.Current_Registration_Number.style.visibility="hidden"; 
document.update.reg2.style.visibility="hidden";
document.update.reg3.style.visibility="hidden";
}}



<!-- Begin
function changeCase(frmObj) {
var index;
var tmpStr;
var tmpChar;
var preString;
var postString;
var strlen;
tmpStr = frmObj.value.toLowerCase();
strLen = tmpStr.length;
if (strLen > 0)  {
for (index = 0; index < strLen; index++)  {
if (index == 0)  {
tmpChar = tmpStr.substring(0,1).toUpperCase();
postString = tmpStr.substring(1,strLen);
tmpStr = tmpChar + postString;
}
else {
tmpChar = tmpStr.substring(index, index+1);
if (tmpChar == " " && index < (strLen-1)) {
tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();
preString = tmpStr.substring(0, index+1);
postString = tmpStr.substring(index+2,strLen);
tmpStr = preString + tmpChar + postString;
         }
      }
   }
}
frmObj.value = tmpStr;
}
//  End -->

// if (document.complex.updated4[0].checked) {alert('Have you updated? please select')}
