// common JavaScript to check required fields.

// BOI, followed by one or more whitespace characters, followed by EOI.
var reWhitespace = /^\s+$/

// Check whether string s is empty.
function isEmpty(s) {   
    return ((s == null) || (s.length == 0))
}

// Returns true if string s is empty or 
// whitespace characters only.
function isWhitespace (s) {   // Is s empty?
    return (isEmpty(s) || reWhitespace.test(s));
}

function requireEntry (objTxtBox, msg) { 
    if ( isWhitespace(objTxtBox.value) ) {
        alert(msg);
        objTxtBox.select();
        objTxtBox.focus();
        return true;
    }
    return false;
}

function requireSelection (objList, blankValue, msg) {  
    
    if ( objList.options[objList.selectedIndex].value==blankValue ) {
        alert(msg);
        objList.focus();
        return true;
    }
    return false;
}

function requireOption (objRadio, msg) {   
    if (objRadio[0].checked == false) {
        if (objRadio[1].checked == false) {
            alert(msg);
            return true;
        }
        else {
            return false;
        }
    }
    return false;
}

function SetFocus() {
  document.form1.tag_organization_name.focus();
}

function validate_email() {
  if(requireEntry (document.form1.Name, "Please enter your Name"))return false;
  if(requireEntry (document.form1.Email, "Please enter your Email"))return false;
  if (!/.+\@.+\..+/.exec(document.form1.Email.value)) {
       document.form1.Email.focus();
       alert( "Your email address is invalid"); return false;
  }
  return true;
}

function validate() {
  if(requireEntry (document.form1.Name, "Please enter your Name"))return false;
  if(requireEntry (document.form1.Email, "Please enter your Email"))return false;
  if (!/.+\@.+\..+/.exec(document.form1.Email.value)) {
       document.form1.Email.focus();
       alert( "Your email address is invalid"); return false;
  }
  if(requireEntry (document.form1.tag_address1, "Please enter your Address"))return false;
  if(requireEntry (document.form1.tag_city, "Please enter your city"))return false;
  if(requireEntry (document.form1.tag_state, "Please enter your state/province"))return false;
  if(requireEntry (document.form1.tag_zip, "Please enter your zip/postal code"))return false;
  if(requireEntry (document.form1.tag_country, "Please enter your country/province"))return false;
  if(requireEntry (document.form1.tag_phone, "Please enter your phone number"))return false;

  if(document.form1.tag_shared_plan && requireOption (document.form1.tag_shared_plan, "Please select a Shared Hosting Plan")) return false;
  if(document.form1.tag_dedicated_plan && requireOption (document.form1.tag_dedicated_plan, "Please select a Dedicated Hosting Plan")) return false;
  if(requireEntry (document.form1.tag_domain_name, "Please enter your Domain Name"))return false;
  if(requireSelection (document.form1.tag_whatpayment_type, "","Please select a payment method"))return false;
  if( document.form1.tag_whatpayment_type.value == 'Bill my credit card') {
      if(requireOption (document.form1.tag_cardtype, "Please select a Card Type")) return false;
      if(requireEntry (document.form1.tag_creditcard, "Please enter your credit card number"))return false;
      if(requireEntry (document.form1.tag_expdate, "Please enter the expiry date on your card"))return false;
      if(requireEntry (document.form1.tag_cardholdername, "Please enter the name on card"))return false;
  }

  return true;
}

function setSourceCategory(source) {
  if (source == "US MAGAZINE") {
      document.form1.sourceSearchEngine.options(0).selected = 1;
      document.form1.sourceOther.options(0).selected = 1 ;
  }
  if (source == "OTHER") {
      document.form1.sourceSearchEngine.options(0).selected = 1;
      document.form1.sourceUSMagazine.options(0).selected = 1;
  }
  if (source == "SEARCH ENGINE") {
      document.form1.sourceUSMagazine.options(0).selected = 1;
      document.form1.sourceOther.options(0).selected = 1;
  }

  document.form1.sourceCategory.value = source;
}

