var err;

/*
http://simonwillison.net/2004/May/26/addLoadEvent/
*/
function addLoadEvent(func)
{
  var oldonload = window.onload;
  if (typeof window.onload != 'function')
  {
    window.onload = func;
  }
  else
  {
    window.onload = function()
    {
      if (oldonload)
      {
        oldonload();
      }
      func();
    }
  }
}

addLoadEvent(form_setup);

function form_setup()
{
  var elObj;
  var elObjReg;

  if (!document.getElementById)
  {
    return;
  }
  if (elObj = document.getElementById("footer"))
  {
    if (elObjReg = document.forms[0])
    {
      elObjReg.onsubmit = function () { return checkForm(this); }
    }
  }
  else
  {
    setTimeout("form_setup()",10);
  }
}


function checkForm(formid)
{
  err = true;

  if ((formid.name == 'contactfinance') || (formid.name == 'contactvehicle') || (formid.name == 'contactservice') || (formid.name == 'contactadmin'))
  {
    if (formid.firstname.value.length < 1)
    {
      error('You haven\'t provided a contact name.');
      formid.firstname.focus();
      formid.firstname.select();
    }
    else if (formid.lastname.value.length < 1)
    {
      error('You haven\'t provided a contact name.');
      formid.lastname.focus();
      formid.lastname.select();
    }
    else if (formid.phone_number.value.length < 1)
    {
      error('You haven\'t provided a contact telephone number.');
      formid.phone_number.focus();
      formid.phone_number.select();
    }
    else if (formid.email_address.value.length < 1)
    {
      error('You haven\'t provided an email address.');
      formid.email_address.focus();
      formid.email_address.select();
    }

    if (err && (formid.email_address.value.length > 0))
    {
      if (formid.email_address.value.length < 5)
      {
        error('The email address you have entered is not a valid email address.');
        formid.email_address.focus();
        formid.email_address.select();
      }
      else if ((formid.email_address.value.indexOf('@') == -1) || (formid.email_address.value.indexOf('.') == -1))
      {
        error('The email address you have entered is not a valid email address.');
        formid.email_address.focus();
        formid.email_address.select();
      }
      else if (formid.email_address.value.indexOf('@') > formid.email_address.value.lastIndexOf('.'))
      {
        error('The email address you have entered is not a valid email address.');
        formid.email_address.focus();
        formid.email_address.select();
      }
      else if (stringcontains(formid.email_address.value,'()[]<>;:," ') == true)
      {
        error('The email address you have entered is not a valid email address.');
        formid.email_address.focus();
        formid.email_address.select();
      }
    }
  }

  if (err)
  {
    err = window.confirm('Are you sure you have entered everything correctly?');
  }

  return err;
}

function stringcontains(haystack,needles)
{
  var result;
  result = false;

  for (i=0;i<needles.length;i++)
  {
    if (haystack.indexOf(needles.charAt(i))>0)
    {
      result = true;
    }
  }

  return result;
}

function error(txt)
{
  err = false;
  window.alert(txt);
}
