<!-- hide JS code
var radio=""; //for checking if the "callback" radio button is checked 
function validateForm(form)  // validate user input
{
    var form_name=form.name; 
    
    if (form_name.search(/KeepInTouch/i)>=0) //Health Info Request form validation
    {

      if (!validateCallback(form))  // callback valid?
      {
           return false
      }
      if (radio=="yes") //if callback is yes, asking for first name, either email or phone
      {
         var msg="For callback, please enter your first name."; 
         if (!validateFullName(form.realname.value,msg))  // name valid?
         {
            form.realname.focus()
            return false
         }
         var msg="For callback, please enter either your phone number or your email address.";
         if (!validateEMailOrPhone(form,msg)) // either name or phone valid?
         {
//           form.email.focus()
             return false
         }
      }
      if (!validateSubject(form.subject.value))    // subject valid?  
      {
        form.subject.focus()
        return false
      }
      if (!validateMessage(form.Message.value))    // message valid?  
      {
        form.Message.focus()
        return false
      }
     return true
   }else if (form_name.search(/Referral/i)>=0) //check appointment form
   { 

      if (!validateSeen(form))  // Seen valid?
      {
         return false
      }
      var app_msg="For making an appointment, please enter your name."; 
      if (!validateFullName(form.realname.value,app_msg))  // name valid?
      {
          form.realname.focus()
          return false
      }
      var app_msg="For making an appointment, please enter either your phone number or your email address.";
      if (!validateEMailOrPhone(form,app_msg)) // either name or Phone valid?
      {
//      form.email.focus()
        return false
      }
     
      var dept_msg="Please select department/section";
      if (!validateSelect(form.DeptName,dept_msg))  //Departmentvalid?
      {
          return false
      }  
      if (!validateSubject(form.subject.value))    // subject valid?  
      {
         form.subject.focus()
         return false
      }
      if (!validateMessage(form.Message.value))    // Message valid?  
      {
         form.Message.focus()
         return false
      }
   }
      return true
}

function validateFullName(realname,msg) // valid the realname field
  {
  if (isBlank(realname))               // first name field blank?
    {
    alert(msg);
    return false
    }
  return true
  }
function isBlank(testStr) // check if a field is blank
  {
  if (testStr.length == 0)                     // nothing entered?
    return true
  for (var i = 0; i <= testStr.length-1; i++)  // all spaces?
    if (testStr.charAt(i) != " ")
      return false
  return true
  }

function validateEMailOrPhone(form,msg) // check if either email or phone field is valid 
  {
  if ((isBlank(form.email.value)&&isBlank(form.Phone.value)))                       // both email & phone blank?
    { 
      alert(msg)
      return false
    }
  else if (!isBlank(form.email.value)){ // check if email is in valid form
    var email=form.email.value
    var atsignPos = email.indexOf("@", 0)     // check for @
    if (atsignPos == -1)  
     {
     alert("Please enter a valid email address. A valid email address should be in the form of emailname@somewhere.com")
     return false
     }
    if (email.indexOf(".", atsignPos) == -1)  // check for . after @      
     {
     alert("Enter a valid email domain after the @, please!")
     return false
     }
    return true
  }
  return true
}
function validateEMail(email) // Check if email is valid, not use here
  {
  if (isBlank(email))                       // email blank?
    {
    alert("Enter your valid email address, please! A vaild email address should be in the format of emailname@somewhere.com")
    return false
    }
  var atsignPos = email.indexOf("@", 0)     // check for @
  if (atsignPos == -1)  
    {
    alert("Enter a valid email address with an @, please!")
    return false
    }
  if (email.indexOf(".", atsignPos) == -1)  // check for . after @      
    {
    alert("Enter a valid email domain after the @, please!")
    return false
    }
  return true
  }
function validatePhone(Phone) // check if phone is valid, not used here
  {
  if (isBlank(Phone))                     // numHours blank?
    {
    alert("Enter your phone number, please!")
    return false
    }
  return true
  }

function validateSubject(subject) // check if subject is valid  
  {
  if (isBlank(subject))                     // subject blank?
    {
    alert("Enter your subject, please!")
    return false
    }
  return true
  }

function validateMessage(Message) // check if message is valid
  {
  if (isBlank(Message))                     // message blank?
    {
    alert("Enter your message, please!")
    return false
    }
  return true
  }

function validateCallback(form) //check if callback radio button is checked, working properly
  {
  var el=form.elements;
  for (var i=0; i<el.length; i++){
      if (el[i].type=="radio"){
         var radiogroup=  el[el[i].name];
         var itemchecked=false;
         for (var j=0; j<radiogroup.length; j++){
            if (radiogroup[j].checked){
                if (j==0){ // check if callback is yes or no, assign to the global variable radio
                    radio="yes";
                }else if (j==1){ // callback is no
                    radio="no"
                }
                itemchecked=true;
                break
            }
         }
   if(!itemchecked) { // if nothing is checked for callback radio button
//    alert("Please choose an answer for "+el[i].name+".");
    alert("Please tell us if you would like us to call you back or email you back by choosing Yes or No next to Callback Required.")   
   if(el[i].focus)
     el[i].focus();
     return false;
   }
  }
 }
 return true;
}   

function validateSeen(form) //check if Seen radio button is checked, working properly
  {
  var el=form.elements;
  for (var i=0; i<el.length; i++){
      if (el[i].type=="radio"){
         var radiogroup=  el[el[i].name];
         var itemchecked=false;
         for (var j=0; j<radiogroup.length; j++){
            if (radiogroup[j].checked){
                if (j==0){ // check if Seen is yes or no, assign to the global variable radio
                    radio="yes";
                }else if (j==1){ // Seen is no
                    radio="no"
                }
                itemchecked=true;
                break
            }
         }
   if(!itemchecked) { // if nothing is checked for Seen radio button
//    alert("Please choose an answer for "+el[i].name+".");
    alert("Please tell us if you have been seen at University Hospital before by choosing Yes or No.")   
   if(el[i].focus)
     el[i].focus();
     return false;
   }
  }
 }
 return true;
}   

function validateSelect(item,msg) //check if a selection is valid, working properly
{
     if (item.selectedIndex==0) //check if only the first item on the list is selected which starts with "Select..."
          {
             alert(msg); 
             item.focus();
             return false; 
          }
     return true;   
}   

// end JS hide -->
