
function isValidEmail(mailstr)
{
	var re = /^ *([a-z0-9_-]+\.)*[a-z0-9_-]+@(([a-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|info|biz|inc|name|[a-z]{2})|[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}) *$/;
	return (re.test(mailstr.toLowerCase()));
}

function validateForm(fnam)
{
  var f = fnam;
  var error_exists = false;

	for( var i in obligatory_fields )
	{
		if ( f.elements[i] )
		{
			if ( (f.elements[i].value == '') || ( f.elements[i].value == obligatory_fields[i] ) || ( i == 'phone' && f.elements[i].value == 'XXX-XXX-XXXX' ) )
			{
				validatorSetError(f.elements[i], obligatory_fields[i] );
        f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;
        // alert ('bad ' + i);
			}
			if ( i == 'email' && (!isValidEmail(f.elements[i].value)) )
			{
				validatorSetError(f.elements[i], obligatory_fields[i] );
				f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;
        // alert ('bad email');
			}
 			if ( i == 'v_email' && (!isValidEmail(f.elements[i].value)) )
			{
				validatorSetError(f.elements[i], obligatory_fields[i] );
				f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;
        // alert ('bad vmail');
			}

      if (i == 'demo')
      {
        if ((f.demo[0].checked == false) && (f.demo[1].checked == false))
        {
        alert ('Please let us know if you will be doing a "demo".');
        validatorSetError(f.elements['demo'], obligatory_fields['demo'] );
        f.elements['demo'].onfocus = validatorUnsetError;
        error_exists = true;
        }
      }

      if (i == 'lab')
      {
        if ((f.demo[0].checked == false) && (f.demo[1].checked == false))
        {
        alert ('Please let us know if your presentation will include a "lab".');
        validatorSetError(f.elements['lab'], obligatory_fields['lab'] );
        f.elements['lab'].onfocus = validatorUnsetError;
        error_exists = true;
        }
      }



		}
	}

  if (f.elements['email'].value != f.elements['v_email'].value)
  {
		validatorSetError(f.elements['v_email'], 'emails do not match' );
		f.elements[i].onfocus = validatorUnsetError;
		error_exists = true;
    alert ('email and verify email are not the same!');
  }

	if (error_exists)
	{
		// $('error-common').style.display = 'block';
    document.getElementById('error-common').style.display = 'block';
		return false;
	}

  f.submit();
}

function validatorUnsetError ()
{
	this.value = '';
}

function validatorSetError ( field, msg )
{
	if ( field.type == 'text' || field.type == 'textarea' )
		field.value = msg;
}
