function validate(Submit) {

 if (Submit.name=="NewContact") {
      var forenameID=document.ContactForm.forename
      var surnameID=document.ContactForm.surname
      var phoneID=document.ContactForm.phone
      var mobileID=document.ContactForm.mobile
      var faxID=document.ContactForm.faxno
      var emailID=document.ContactForm.busEMail
      var forenameMsg="Please enter a First Name"
      var surnameMsg="Please enter a Surname"
      var emailMsg="Please enter a valid Email address"
      var contactMsg="Please enter a valid contact method:   \n\nDirect Dial, Mobile, Fax or Email\n"

      if (! isNotNull(forenameID.value)) {
         alert( forenameMsg )
         forenameID.focus()
         return false;
       } else if (! isNotNull(surnameID.value)) {
         alert( surnameMsg )
         surnameID.focus()
         return false;
       } else if ( phoneID.value=="" && mobileID.value=="" && emailID.value=="" && faxID.value=="" ){
         alert( contactMsg)
         phoneID.focus()
         return false; 
       } else if (! isValidEmail(emailID.value, false)) {
         alert( emailMsg )
         emailID.focus()
         return false;
       } 
 } 

 if (Submit.name == "NewCompany") {
      var assignUID=document.CompanyForm.assignUID
      var assignCAT=document.CompanyForm.assignCAT
      var sales=document.CompanyForm.salesTarget
      var forenameID=document.CompanyForm.forename
      var surnameID=document.CompanyForm.surname
      var companyID=document.CompanyForm.company
      var cityID=document.CompanyForm.city
      var phoneID=document.CompanyForm.phone
      var mobileID=document.CompanyForm.mobile
      var emailID=document.CompanyForm.busEMail
      var forenameMsg="You must supply a First Name"
      var surnameMsg="You must supply a Surname"
      var addressMsg="The Address is invalid"
      var companyMsg="The Company Name is invalid"
      var cityMsg="You must supply a City"
      var emailMsg="Please enter a valid Email address"
      var salesMsg="Please enter a monetary values only"
      var assignMsg="Please assign the contact using the\ndropdown list available"
      var catMsg="Please assign the category using the\ndropdown list available"
      var contactMsg="Please enter a valid \ncontact method of: \n\n   Direct Dial \n   Mobile or \n   Email\n"

      if ( ! isNotNull(cityID.value)) {
         alert( cityMsg )
         cityID.focus()
         return false;
       } else if (! isNotNull(assignUID.value)) {
         alert( assignMsg )
         return false;
       } else if (! isNotNull(assignCAT.value)) {
         alert( catMsg )
         return false;
       } else if (! isValidMoney(sales.value)) {
         alert( salesMsg )
         sales.focus()
         return false;
       } else if (! isNotNull(forenameID.value)) {
         alert( forenameMsg )
         forenameID.focus()
         return false;
       } else if (! isNotNull(surnameID.value)) {
         alert( surnameMsg )
         surnameID.focus()
         return false;
       } else if (! isValidEmail(emailID.value, false)) {
         alert( emailMsg )
         emailID.focus()
         return false;
       } else if ( phoneID.value=="" && mobileID.value=="" && emailID.value=="" ){
         alert( contactMsg )
         phoneID.focus()
         return false; 
       } 
 } 

 if (Submit.name == "UpdContact") {
      var assignUID=document.ContactForm.assignUID
      var cid=document.ContactForm.cid
      var sforenameID=document.ContactForm.sforename
      var ssurnameID=document.ContactForm.ssurname
      var scompanyID=document.ContactForm.scompany
      var scityID=document.ContactForm.scity
      var semailID=document.ContactForm.sbusEMail
      var sperEmailID=document.ContactForm.sperEMail
      var forenameID=document.ContactForm.forename
      var surnameID=document.ContactForm.surname
      var companyID=document.ContactForm.company
      var cityID=document.ContactForm.city
      var emailID=document.ContactForm.busEMail
      var perEmailID=document.ContactForm.perEMail
      var forenameMsg="The First Name is invalid."
      var surnameMsg="The Surname is invalid."
      var addressMsg="The Address is invalid."
      var companyMsg="The Company Name is invalid."
      var cityMsg="The City is invalid."
      var bemailMsg="The Business Email is invalid."
      var pemailMsg="The Personal Email is invalid."
      var assignMsg="Please assign the contact using the\n dropdown  list available. \n\nThank you"
 } 

 if (Submit.name == "userAdmin") {
      var ufnameID=document.UserAdmin.fullname
      var upwdID=document.UserAdmin.upwd
      var npwdID=document.UserAdmin.npwd
      var vpwdID=document.UserAdmin.vpwd
      var ufnameMsg="The Name cannot be blank."
      var upwdMsg="Please your current password."
      var npwdMsg="Either the New and/or Verify Password\n is blank or the do not match."
      var vpwdMsg="Either the New and/or Verify Password\n is blank or the do not match."
 } 

 if (Submit.name == "Enquiry") {
      var eSubjectID=document.EnqForm.subject
      var eSubjectMsg="Please provide a Subject message."
      var eNameID=document.EnqForm.realname
      var eNameMsg="Please provide a Name to identify you."
      var eMailID=document.EnqForm.email
      var eMailMsg="Please provide an valid format \nEmail Address to contact you"
      var eBodyID=document.EnqForm.body
      var eTypeID=document.EnqForm.enqType
      var eTypeMsg="Please select a Category type."


      if (! isNotNull(eSubjectID.value)) {
         alert( eSubjectMsg )
         eSubjectID.focus()
         return false;
       } else if (! isNotNull(eNameID.value)) {
         alert( eNameMsg )
         eNameID.focus()
         return false;
       } else if (! isValidEmail(eMailID.value, false)) {
         alert( eMailMsg )
         eMailID.focus()
         return false;

       } else if (! isNotNull(eMailID.value)) {
         alert( eMailMsg )
         eTypeID.focus()
         return false;
       } else if (! isNotNull(eTypeID.value)) {
         alert( eTypeMsg )
         eTypeID.focus()
         return false;
       }
 } 

return true;
}



function isNotNull(thisText, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (thisText==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (thisText.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
	
    return true;
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    }
	
    return true;
}

function isValidText(thisText, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (thisText==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (thisText.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(thisText)) {  // check to make sure all characters are valid
        return false;
    }
	
    return true;
}

function isValidMoney(thisText, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (thisText==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (thisText.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidNums(thisText)) {  // check to make sure all characters are valid
        return false;
    }
	
    return true;
}

function allValidChars(thisField) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < thisField.length; i++) {
    var letter = thisField.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function allValidNums(thisField) {
  var parsed = true;
  var validchars = "0123456789@.,";
  for (var i=0; i < thisField.length; i++) {
    var letter = thisField.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function clearForm(Submit) {

    if (Submit.name=="UserCreate") {
      var surnameID=document.forms[1].eUserName
      var pwdID=document.forms[1].eUserPwd
    }

    if (Submit.name=="UserExists") {
      var surnameID=document.forms[0].cUserName
      var pwdID=document.forms[0].cUserPwd
    } 
    
    surnameID.value="";
    pwdID.value="";

    return true;

}

function isValidNum(field) {
 var valid = "0123456789."
 var ok = "yes";
 var temp;
 for (var i=0; i<field.value.length; i++) {
   temp = "" + field.value.substring(i, i+1);
   if (valid.indexOf(temp) == "-1") ok = "no";
 }
 if (ok == "no") {
   alert("This needs to be a numeric field \n i.e 50 or 50.00 are acceptable.");
   field.focus();
   field.select();
 }
}

