function submitForm()
{
  if( checkForm( 'formSignup' ) )
  {
    document.formSignup.submit();
  }
}

function checkForm( formId )
{
  var e_arr = Form.getElements( $(formId) );
  var errorMsg = "";
  var errorMsg2 = "";
  var ec = "";
  for( var i in e_arr )
  {    
    ;
    if( !checkField( e_arr[i] ) )
    {      
      errorMsg += "\n \t* "+ e_arr[i].title;      
    }
    else if( (ec=checkEmail( e_arr[i] )) )
    {
      errorMsg2 += ec;
    }
  }
  if( errorMsg.length > 0 )
  {
    alert( "The following fields were not filled in: " + errorMsg );
    return false;  
  }
  if( errorMsg2.length > 0 )
  {
    alert( errorMsg2 );
    return false;  
  }  
  return true;
}

function checkField( field )
{
  if( field.className && field.name.length > 0 )
  {    
    if( field.hasClassName('required') )
    {
    if( field.hasClassName('formError') )
      field.removeClassName('formError');    
      var fieldValue="";
      if( (field.type == "radio" || field.type == "checkbox" ) )
      {
        if( field.checked )
          fieldValue = field.value;
      }
      else
        fieldValue = field.value;
        
      if(fieldValue == "" || fieldValue === undefined )
      {
        field.addClassName('formError');
        return false;
      }
      
    }
  }
  return true;
}

function checkEmail (field)
{
  var error = false;
  
  if( field.className && field.name.length > 0 )
  {  
    if( field.hasClassName('email') && field.hasClassName('required') )
    {       
      strng = field.value;
      var emailFilter=/^.+@.+\..{2,3}$/;
      if (!(emailFilter.test(strng))) { 
         error = "Please enter a valid email address.\n";
      }
      else {
         var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
           if (strng.match(illegalChars)) {
            error = "The email address contains illegal characters.\n";
         }
      }
    }    
  }
  if(error)
  {
      field.addClassName('formError');
  }
  return error;    
}