addLoadListener(init);


function init()
{
	if(!document.forms[0]) { return; }
	document.forms[0].onsubmit = validateFields;
	
	return true;
}




function validateFields()
{
	var elements = document.forms[0].elements;
	var emailPattern = /^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/;
	var numPattern = /^\-? ?\d+( \d+)?( )?( \d+)?( )?$/;
	
  
  for (var i = 0; i < elements.length; i++)
  {
    if (/(^| )checkRequired( |$)/.test(elements[i].className) && elements[i].value == "")
    {
      elements[i].focus();
      elements[i].style.backgroundColor ="#efefef";
      alert("Please fill out this field.");
      return false;
    } else {
    	elements[i].style.backgroundColor ="#ffffff";
    }

    if (/(^| )checkEmail( |$)/.test(elements[i].className) && !emailPattern.test(elements[i].value))
    {
      elements[i].focus();
      alert("Please fill in a valid e-mail address.");
      elements[i].style.backgroundColor ="#efefef";
      return false;
    } else {
    	elements[i].style.backgroundColor ="#ffffff";
    }
    
    // check numbers
   if (/(^| )checkNumber( |$)/.test(elements[i].className) && !numPattern.test(elements[i].value))
    
    {
      elements[i].focus();
      alert("Please enter a valid number\n (numbers only).");
      elements[i].style.backgroundColor ="#efefef";
      return false;
    } else {
    	elements[i].style.backgroundColor ="#ffffff";
    }
    
    
} // end loop

   
	
	return true;
  
} // end validate fields



function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}


