// javascripts
function isEmpty(element,response) {
   if (isStringEmpty(element.value)) {
      alert(response);
      element.focus();
      return true;
   }
   return false;
}

function isStringEmpty(str) {
// returns true if str is empty
// performs a null check followed by an array check of spaces

   if (str == "" || str == null)
      return true;

   // Check whether string is empty.
   for (var intLoop = 0; intLoop < str.length; intLoop++) {
      if (str.charAt(intLoop) != " ") {
         return false;
      }
   }
   return true;
}

function isValidEmail(field,response){
// returns true if it is a valid e-mail format
// returns false if it is not a valid e-mail format

   //setting response if one is not given
   if (response == "" || response == null)
      response="Please enter a valid E-mail Address.\n Format: name@domain.ext";

   var str = field.value;
   if (isStringEmpty(field.value)) {
      window.alert(response);
      field.focus();
      return false;
   }
   var pattern = /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/
   var result = pattern.test(str);
   if (!result) {
      window.alert(response);
      field.focus();
   }
   return result;
}

function isValidPhone(field,response) {
// returns true if it is a valid phone format: xxx-xxx-xxxx
// returns false if it not a valid phone format: xxx-xxx-xxxx


   //setting response if one is not given
   if (response == "" || response == null)
      response="Please enter a valid Phone Number.\n Format: xxx-xxx-xxxx";

   var str = field.value;
   if (isStringEmpty(str)) {
      window.alert(response);
      field.focus();
      return false;
   }
   var pattern = /^(\d{3})(-|\.| )(\d{3})(-|\.| )(\d{4})$/;
   var result = pattern.test(str);
   if (!result){
      window.alert(response);
      field.focus();
   }
   return result;
}

function isValidName(field,response) {
// returns true if it is a valid name
// returns false if it not a valid name

   //setting response if one is not given
   if (response == "" || response == null)
      response="Please enter a valid Name.\nFor suffixes like 1st or 2nd use I or II instead.";

   var str = field.value;
   if (isStringEmpty(str)) {
      window.alert(response);
      field.focus();
      return false;
   }
   var pattern = /^[A-Za-z]+[(A-Za-z)|\.| |,|-|']*$/;
   var result = pattern.test(str);
   if (!result){
      window.alert(response);
      field.focus();
   }
   return result;
}



function isInvalidSelection(element, response) {
// returns true if it is an invalid selection
// returns false if it is a valid selection
   if (element.value==null || element.value=="" || element.value=="selectone") {
      alert(response);
      element.focus();
      return true;
   }
   return false;
}

function isRadioGroupNotChecked(element, response) {
var temp = false;
   for (var i = 0; i < element.length; i++){
      temp = (temp || element[i].checked);
   }
   if (!temp) {
      alert(response);
      element[0].focus();
      return true;
   }
   return false;
}

function openPopUp(url,window_name,specs) {
  window.open(url,window_name,specs);
  return false;
}