//#############################################################################
// This function validates that the user selected a state from the dropdown   #
// list.  If not, an error message is displayed.                              #
//#############################################################################
function validateSel()
{
  var selectedIndex = document.getElementById("state").selectedIndex ;
  var selectedValue = document.getElementById("state").options[selectedIndex].value ;
  var success = true ;


  if (selectedValue == "x")
  {
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  return success ;
}


/*#############################################################################
  # This function is used to validate the form in the file request-info.shtml #
  # by ensuring that all fields have been either selected or populated.       #
  ############################################################################*/
function validateRequestInfo()
{
  // Each block of statements pertains to each field on the form
  var company_obj = document.getElementById("company_name") ;
  var company_col_obj = document.getElementById("cn") ;
  var company_name = company_obj.value ;
  var company_col_html = company_col_obj.innerHTML ;

  var full_name_obj = document.getElementById("full_name") ;
  var full_name_col_obj = document.getElementById("fn") ;
  var full_name = full_name_obj.value ;
  var full_name_col_html = full_name_col_obj.innerHTML ;

  var address_obj = document.getElementById("address") ;
  var address_col_obj = document.getElementById("addr") ;
  var address = address_obj.value ;
  var address_col_html = address_col_obj.innerHTML ;

  var city_obj = document.getElementById("city") ;
  var city_col_obj = document.getElementById("cty") ;
  var city = city_obj.value ;
  var city_col_html = city_col_obj.innerHTML ;

  var state_obj = document.getElementById("state") ;
  var state_col_obj = document.getElementById("st") ;
  var state = state_obj.value ;
  var state_col_html = state_col_obj.innerHTML ;

  var postal_obj = document.getElementById("zip_code") ;
  var postal_col_obj = document.getElementById("zc") ;
  var postal = postal_obj.value ;
  var postal_col_html = postal_col_obj.innerHTML ;

  var phone_obj = document.getElementById("phone") ;
  var phone_col_obj = document.getElementById("ph") ;
  var phone = phone_obj.value ;
  var phone_col_html = phone_col_obj.innerHTML ;

  var email_obj = document.getElementById("email") ;
  var email_col_obj = document.getElementById("em") ;
  var email = email_obj.value ;
  var email_col_html = email_col_obj.innerHTML ;

  var heard_obj = document.getElementById("found_out") ;
  var heard_col_obj = document.getElementById("fo") ;
  var heard_sel_index = heard_obj.selectedIndex ;

  var business_obj = document.getElementById("bus_loc") ;
  var business_col_obj = document.getElementById("bl") ;
  var business_sel_index = business_obj.selectedIndex ;

  var num_emp_obj = document.getElementById("num_emp") ;
  var num_emp_col_obj = document.getElementById("emp") ;
  var num_emp_sel_index = num_emp_obj.selectedIndex ;

  var num_lines_obj = document.getElementById("num_lines") ;
  var num_lines_col_obj = document.getElementById("lines") ;
  var num_lines_sel_index = num_lines_obj.selectedIndex ;

  var num_lines_obj = document.getElementById("num_lines") ;
  var num_lines_col_obj = document.getElementById("lines") ;
  var num_lines_sel_index = num_lines_obj.selectedIndex ;

  var internet_obj = document.getElementById("internet") ;
  var internet_col_obj = document.getElementById("net") ;
  var internet_sel_index = internet_obj.selectedIndex ;
  var internet_sel = internet_obj.options[internet_sel_index].value ;

  var other_obj = document.getElementById("other_text") ;
  var other_sel = other_obj.value ;

  var pbx1_obj = document.getElementById("pbx_no") ;
  var pbx1_sel = pbx1_obj.checked ;

  var pbx2_obj = document.getElementById("pbx_yes") ;
  var pbx2_sel = pbx2_obj.checked ;

  var pbx_col_obj = document.getElementById("ph_sys") ;

  var success = true ;
  var regex = /^$|^\s+$/ ;
  var regex2 = /\*/ ;

  // The below block of statements stores the results of the regular expression
  // for each text field.
  var company_found = regex.exec(company_name) ;
  var company_found2 = regex2.exec(company_col_html) ;

  var full_name_found = regex.exec(full_name) ;
  var full_name_found2 = regex2.exec(full_name_col_html) ;

  var address_found = regex.exec(address) ;
  var address_found2 = regex2.exec(address_col_html) ;

  var city_found = regex.exec(city) ;
  var city_found2 = regex2.exec(city_col_html) ;

  var state_found = regex.exec(state) ;
  var state_found2 = regex2.exec(state_col_html) ;

  var postal_found = regex.exec(postal) ;
  var postal_found2 = regex2.exec(postal_col_html) ;

  var phone_found = regex.exec(phone) ;
  var phone_found2 = regex2.exec(phone_col_html) ;

  var email_found = regex.exec(email) ;
  var email_found2 = regex2.exec(email_col_html) ;

  var other_found = regex.exec(other_sel) ;

  // The following if-else conditions verifies whether the field is populated.
  // If not then an asterisk is placed next to the field, if it's not already
  // their.  The return value is set to false.
  if (company_found)
  {
    if (!company_found2)
    {
      company_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    company_col_obj.innerHTML = "&nbsp" ;
  }

  if (full_name_found)
  {
    if (!full_name_found2)
    {
      full_name_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
     full_name_col_obj.innerHTML = "&nbsp" ;
  }

  if (address_found)
  {
    if (!address_found2)
    {
      address_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    address_col_obj.innerHTML = "&nbsp" ;
  }

  if (city_found)
  {
    if (!city_found2)
    {
      city_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    city_col_obj.innerHTML = "&nbsp" ;
  }


  if (state_found)
  {
    if (!state_found2)
    {
      state_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    state_col_obj.innerHTML = "&nbsp" ;
  }

  if (postal_found)
  {
    if (!postal_found2)
    {
      postal_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    postal_col_obj.innerHTML = "&nbsp" ;
  }

  if (phone_found)
  {
    if (!phone_found2)
    {
      phone_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    phone_col_obj.innerHTML = "&nbsp" ;
  }

  if (email_found)
  {
    if (!email_found2)
    {
      email_col_obj.innerHTML = "*" ;
    }
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    email_col_obj.innerHTML = "&nbsp" ;
  }

  if (heard_sel_index == 0)
  {
    heard_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    heard_col_obj.innerHTML = "&nbsp" ;
  }

  if (business_sel_index == 0)
  {
    business_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    business_col_obj.innerHTML = "&nbsp" ;
  }

  if (num_emp_sel_index == 0)
  {
    num_emp_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    num_emp_col_obj.innerHTML = "&nbsp" ;
  }

  if (num_lines_sel_index == 0)
  {
    num_lines_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    num_lines_col_obj.innerHTML = "&nbsp" ;
  }

  if (internet_sel_index == 0)
  {
    internet_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    internet_col_obj.innerHTML = "&nbsp" ;
    if (internet_sel == "Other")
    {
      if (other_found)
      {
        internet_col_obj.innerHTML = "*" ;
        document.getElementById("error_msg").style.display = "inline" ;
        success = false ;
      }
    }
  }

  if (!pbx1_sel && !pbx2_sel)
  {
    pbx_col_obj.innerHTML = "*" ;
    document.getElementById("error_msg").style.display = "inline" ;
    success = false ;
  }
  else
  {
    pbx_col_obj.innerHTML = "&nbsp" ;
  }

  return success ;
}


