/*
var obligatory_fields = {
	'first_name':'please enter First Name',
	'last_name':'please enter Last Name',
	'company':'please enter Company',
	'address1':'please enter Street Address 1',
	'city':'please enter City',
	'state':'please enter US State / Canadian Province',
	'country':'please enter Country',
	'zip':'please enter Postal Code',
	'phone':'please enter Telephone',
	'email':'please enter Email'
};

*/

function isValidEmail(mailstr)
{
	var re = /^ *([a-z0-9_-]+\.)*[a-z0-9_-]+@(([a-z0-9-]+\.)+(com|net|org|mil|edu|gov|arpa|aero|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 isBadDomain(mailstr)
{
	var bd = /(gmail.com|hotmail.com|yahoo.com|aol.com|yahoo.co.uk)/;
	if (bd.test(mailstr.toLowerCase())) {
		alert ("Please use a corporate email address.");
		return true;
	}
	return false;
}

function validateForm(form,nochkCorp)
{
	var f = document.forms['form3'];
  if (nochkCorp) ckCorp = false;
  else ckCorp = true;

	var error_exists = false;

	if (f.attendename && (f.attendename.value == 'if different from name above')) {
		f.attendename.value = '';
	}

	for( var i in obligatory_fields )
	{
		if ( f.elements[i] )
		{
			if ( (f.elements[i].value == '') || ( f.elements[i].value == obligatory_fields[i] ) || (f.elements[i].value == 0) || ( i == 'phone' && f.elements[i].value == 'XXX-XXX-XXXX' ) )
			{
				validatorSetError(f.elements[i], obligatory_fields[i] );
				f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;
			}
			if ( i == 'email' && (!isValidEmail(f.elements[i].value) || (ckCorp && isBadDomain(f.elements[i].value))) )
			{
				validatorSetError(f.elements[i], obligatory_fields[i] );
				f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;
			}
			if ( f.vemail && i == 'vemail' && (f.vemail.value != f.email.value)) {
				validatorSetError(f.elements[i], 'email addresses do not match' );
				f.elements[i].onfocus = validatorUnsetError;
				error_exists = true;

			}

      if (f.state && i == 'state' && ((f.state.value == 'Other' && (f.country.value == 'USA' || f.country.value == 'Canada')) || (f.state.value.length > 2 && f.country.value == 'USA') || (f.country.value == 'Canada' && f.state.value.length < 3)))
      {
        validatorSetError(f.elements[i], obligatory_fields[i]);
        f.elements[i].onfocus = validatorUnsetError;
        error_exits = true;
      }

		}
	}

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

	// f.submit();
	return true;
}

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

function validatorSetError ( field, msg )
{
	field.parentNode.parentNode.className = 'rf_table_row error_row';
	if ( field.type == 'text' )
		field.value = msg;
}