// JavaScript Document

function checkboxgrp_check(thisform,grpname) {
  var x,e,checked;
  for (x=0;x<thisform.elements.length;x++) {
    e=thisform.elements[x];
    if (e.type == 'checkbox') {
      if (e.name == grpname) {
        if (e.checked) { return true; }
      }
    }
  }
  return false;
}

function radiobutton_check(thisbutton) {
  var x;
  for (x=0;x<thisbutton.length;x++) {
    if (thisbutton[x].checked) { return true; }
  }
  return false;
}

function format_phone_number_field(myfield) {
  // check if the number is in the proper format, if not return false
  // if so, return true and assign a formatted value back

  if (myfield.value.length > 1) {
    var m = new RegExp('^[^0-9]*([2-9][0-9][0-9])[^0-9]*([2-9][0-9][0-9])[^0-9]*([0-9][0-9][0-9][0-9])[^0-9]*$');
    if (myfield.value.match(m)) {
      myfield.value = myfield.value.replace(m,"$1-$2-$3");
      return true;
    }
  }
  return false;
}

function email_check(myval) {
  if ((myval==null)||(myval=="")) { return false; }

  var at="@";
  var dot=".";
  var lat=myval.indexOf(at);
  var lstr=myval.length;
  var ldot=myval.indexOf(dot);

  if (myval.indexOf(at)==-1) { return false; }
  if (myval.indexOf(at)==-1 || myval.indexOf(at)==0 || myval.indexOf(at)==lstr) { return false; }
  if (myval.indexOf(dot)==-1 || myval.indexOf(dot)==0 || myval.indexOf(dot)==lstr) { return false; }
  if (myval.indexOf(at,(lat+1))!=-1) { return false; }
  if (myval.substring(lat-1,lat)==dot || myval.substring(lat+1,lat+2)==dot) { return false; }
  if (myval.indexOf(dot,(lat+2))==-1) { return false; }
  if (myval.indexOf(" ")!=-1) { return false; }

  return true;
}

function form_check(thisform) {
  // check all the form elements
  if (! checkboxgrp_check(thisform,'findout[]')) {
    alert('Please select at least one choice for #1.');
    return false;
  }
  if (! radiobutton_check(thisform.visited)) {
    alert('Please make a selection for #2.');
    return false;
  }
  if (! checkboxgrp_check(thisform,'showroom[]')) {
    alert('Please select at least one choice for #3.');
    return false;
  }
  if (! checkboxgrp_check(thisform,'purpose[]')) {
    alert('Please select at least one choice for #4.');
    return false;
  }
  if (! radiobutton_check(thisform.impression)) {
    alert('Please make a selection for #5.');
    return false;
  }
  if (! radiobutton_check(thisform.distance)) {
    alert('Please make a selection for #6.');
    return false;
  }
  if (! radiobutton_check(thisform.call)) {
    alert('Please make a selection for #7.');
    return false;
  }
  if (! radiobutton_check(thisform.inspire)) {
    alert('Please make a selection for #8.');
    return false;
  }
  if (! radiobutton_check(thisform.recommend)) {
    alert('Please make a selection for #9.');
    return false;
  }
  if (! radiobutton_check(thisform.contact)) {
    alert('Please make a selection for #10.');
    return false;
  }
  if (thisform.name.value.length < 3) {
    alert('Please enter your name in the space provided.');
    return false;
  }
  if (! format_phone_number_field(thisform.phone1)) {
    alert('Please ensure your phone number is in an appropriate format (ex: ###-###-####)');
    return false;
  }
  if (! email_check(thisform.email.value)) {
    alert('Please enter a valid email address.');
    return false;
  }
  return true;
}

