function isEmailAddr(email)
{
 
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf('@');
  
  if (index > 0)
  {

	var pindex = theStr.indexOf('.',index);
	
	if ((pindex > index+1) && (theStr.length > pindex+1))
	{
		result = true;
	}

  }

  return result;

}


function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == '')
	{
		alert('Please enter a value for the '+ fieldLabel +' field.');
		formField.focus();
		result = false;
	}
	
	return result;
}


function allDigits(str)
{
	return inValidCharSet(str,'0123456789');
}


function allAlphaNumeric(str)
{
	return inValidCharSet(str,'-0123456789abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ');
}


function allAlphaNumericAddress(str)
{
	return inValidCharSet(str,'#,-0123456789abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ');
}


function inValidCharSet(str,charset)
{
	var result = true;

	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}


function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
	{
		result = false;
	}
  
	if (result)
	{
		if (!allDigits(formField.value))
		{
			alert('Please enter a number for the '+ fieldLabel +' field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validAlphaNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
	{
		result = false;
	}
  
	if (result)
	{
		if (!allAlphaNumeric(formField.value))
		{
			alert('The '+ fieldLabel +' field can only include numbers, letters, dashes, and the underscore symbol.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validAlphaNumAddress(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
	{
		result = false;
	}
  
	if (result)
	{
		if (!allAlphaNumeric(formField.value))
		{
			alert('The '+ fieldLabel +' field can only contain letters, numbers, spaces, apostrophes, periods, hyphens, pounds, and commas');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
	{
		result = false;
	}

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert('Please enter a complete email address in the form: yourname@yourdomain.com');
		formField.focus();
		result = false;
	}
   
  return result;

}


function validateLength(formField,fieldLabel,minLength,maxLength,required)
{

	if (required && !validRequired(formField,fieldLabel))
	{
		result = false;
	}


	if (maxLength > 0)
	{ 
		
		if (formField.value.length > maxLength)
		{
			
			alert('The '+ fieldLabel +' field cannot exceed '+ maxLength +' characters in length.') 
			
			formField.focus(); 
			return false; 
		}
	}

	if (minLength > 0)
	{ 
		
		if (formField.value.length < minLength)
		{
		
			alert('The '+ fieldLabel +' field must be at least '+ minLength +' characters in length.') 
			
			formField.focus(); 
			return false;
		}
	}

	return true;
}


function validConfirmMatch(formField,formField2,fieldLabel,fieldLabel2,required)
{	
	
	if (required && !validRequired(formField,fieldLabel))
	{
		return false;
	}

	if (required && !validRequired(formField2,fieldLabel2))
	{
		return false;
	}

	
	if (formField.value != formField2.value)
	{
		
		alert('The '+ fieldLabel +' and '+ fieldLabel2 +' fields must match.') 
		
		formField.focus(); 
		return false; 
	}

	return true;
}


function validateMVP(theForm)
{
	if (!validRequired(theForm.heard,'How you heard about the Old School Station')) { return false; }
	if (!validRequired(theForm.song,'Favorite Old School Jam')) { return false; }
	if (!validRequired(theForm.name,'Name')) { return false; }
	if (!validEmail(theForm.email,'Email',true)) { return false; }
	if (!validRequired(theForm.city,'City')) { return false; }
	if (!validRequired(theForm.age,'Age')) { return false; }
		
	return true;
}

function validate5Contest(theForm)
{
	if (!validRequired(theForm.song,'Favorite Old School Jam')) { return false; }
	if (!validEmail(theForm.email,'Email',true)) { return false; }
		
	return true;
}