// Form Validation for Sweepstakes, Surveys, and Events

var sLetters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var sNumbers = "0123456789";
var styleIsAfter = 1;
var styleIsBefore = 2;
var styleEqualTo = 3;

function checkEmail( emailField )
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(emailField.value)) return true;
	return false;
}

function IsFieldEmpty( aField )
{
	if (aField) {
		return (aField.value.length < 1);
	}
	return true;
}

function IsSelectUnique( aSelectArray )
{
  var bPassed = true;
  for ( var i = 0; i < aSelectArray.length; i++ ) {
	for ( var x = 0; x < aSelectArray.length; x++ ) {
	  if ( x != i ) {
		if ( aSelectArray[i].selectedIndex != 0 ) {
		  if ( aSelectArray[i].selectedIndex == aSelectArray[x].selectedIndex ) {
			aSelectArray[x].selectedIndex = 0;
			bPassed = false;
		  }
		}
	  }
	}
  }
  return bPassed;
}
function isLetter( c )
{
  var bPassed = true;
  for (var i = 0;  i < sLetters.length;  i++) {
	if (c == sLetters.charAt(i)) break;
	if (i == (sLetters.length - 1)) {
	  bPassed = false;
	  break;
	}
  }
  return bPassed;
}
function isNumber( c )
{
  var bPassed = true;
  for (var i = 0;  i < sNumbers.length;  i++) {
	if (c == sNumbers.charAt(i)) break;
	if (i == (sNumbers.length - 1)) {
	  bPassed = false;
	  break;
	}
  }
  return bPassed;
}
function IsNumberBetween( iNumber, iMin, iMax )
{
  return (Number( iNumber ) >= iMin && Number( iNumber ) <= iMax);
}
function ValidateMask( sInput, sMask )
{
  var bReturn = true;
  for ( var i = 0; i < sMask.length; i++ ) {
	switch ( sMask.charAt(i) ) {
	  case "9":
		if (!isNumber(sInput.charAt(i)))
		  bReturn = false;
		break;
	  case "X":
		if (!isLetter(sInput.charAt(i)))
		  bReturn = false;
		break;
	  case "?":
		break;
	  default:
		if (sMask.charAt(i) != sInput.charAt(i)) bReturn = false;
	}
	if (bReturn == false)
	  break;
  }
  return bReturn;
}

function SubmitTheSurvey(aForm)
{
  // For Backwards Compatibility
  if (ValidateSurvey( aForm ))
	aForm.submit();
}


var iSkipValidation = 0;
var bAlreadySubmitted = false;
function GoPreviousPage(aForm)
{
  iSkipValidation=1;
  aForm.previouspagebtn.value="clicked";
  if (ValidateSurvey( aForm ))
	aForm.submit();
}
function ValidateSurvey(aForm)
{
  if (bAlreadySubmitted) return ( false );
  if (iSkipValidation == 1 ) {
	bAlreadySubmitted = true;
	return ( true );
  }
  var iCount;
  if ( "function" == typeof CustomPreValidation )
  {
	if (!CustomPreValidation( aForm ))
	  return (false);
  }
  
 if (IsFieldEmpty( aForm.EmailAddress ))
 {
  alert( "You must enter your email address." );
  aForm.EmailAddress.focus();
  return( false );
 }

 if (!checkEmail( aForm.EmailAddress ))
 {
    alert( "You must enter a valid email address." );
	aForm.EmailAddress.focus();
	return( false );
 }

  if ( "function" == typeof CustomPostValidation )
  {
	if (!CustomPostValidation( aForm ))
	  return (false);
  }
  bAlreadySubmitted = true;
  return( true );
}
