function submitcontestentry()
{
	if (validatecontestentry() == false)
	{
		return false;
	}
	document.contestentry.submitform.disabled=true;
	document.contestentry.submitform.value='Processing...';
	document.contestentry.submit();
	return true;
}

function validatecontestentry()
{
    var valid = true; // Form passes muster if this is true at the end of this check.
    var message = "There is an error in your entry form.\n\nPlease address the following and try again:\n\n"; //This is the generic portion of the error message to alert if the form is not valid.
    document.contestentry.fname.className = 'inputText' ;
    document.contestentry.lname.className = 'inputText' ;
    document.contestentry.addy.className = 'inputText' ;
    document.contestentry.city.className = 'inputText' ;
    document.contestentry.state.className = 'selectOne' ;
    document.contestentry.zip.className = 'inputText' ;
    document.contestentry.email.className = 'inputText' ;
    document.contestentry.email2.className = 'inputText' ;
    document.contestentry.phone.className = 'inputText' ;
    
	// FIRST NAME CHECK
    if ( document.contestentry.fname.value == '' )
    {
         valid = false;
    	document.contestentry.fname.className += " error" ;
    	message += "-Your first name is required\n";
    } 
    
    // LAST  NAME CHECK
    if ( document.contestentry.lname.value == '' )
    {
         valid = false;
    	document.contestentry.lname.className += " error" ;
    	message += "-Your last name is required\n";
    }
    
    // EMAIL CHECK AND COMPARISON CHECK
    if (isEmail(document.contestentry.email.value) == false)
    {
  	valid = false;
	document.contestentry.email.className += " error" ;
	message += "-A valid email address is required\n";
    }
    else if (document.contestentry.email.value != document.contestentry.email2.value)
    {
    valid = false;
	document.contestentry.email.className += " error" ;
	document.contestentry.email2.className += " error" ;
	message += "-The email addresses entered do not match\n";
    }
    // ADDRESS CHECK
    if ( document.contestentry.addy.value == '' )
    {
        valid = false;
        document.contestentry.addy.className += " error" ;
        message += "-A snail-mail address is required\n";
    }        
	// CHECK CITY INPUT
    if ( document.contestentry.city.value == '' )
    {
        valid = false;
        document.contestentry.city.className += " error" ;
        message += "-A city is required\n";
    }    
	// CHECK STATE SELECTION
    if ( document.contestentry.state.value == -1 )
    {
        valid = false;
        document.contestentry.city.className += " error" ;
        message += "-A state must be selected from the drop-down menu\n";
    }    
    // CHECK GENDER
    if (getCheckedValue(document.forms['contestentry'].elements['gender']) == '')
    {
    	valid = false;
        document.contestentry.gender.className += " error" ;
        message += "-Your gender is required.\n";
    }
    
    // CHECK ZIP CODE
    if ( document.contestentry.zip.value == '' || isZip(document.contestentry.zip.value) == false)
    {
        valid = false;
        document.contestentry.zip.className += " error" ;
        message += "-A valid zipcode is required.\n";
    }
    
    // PHONE CECK
    if ( document.contestentry.phone.value == '' )
    {
        valid = false;
    	document.contestentry.phone.className += " error" ;
    	message += "-Your phone number is required\n";
    } 
    // CHECK SURVEY IS POPULATED
    
    if (getCheckedValue(document.forms['contestentry'].elements['visitfreq']) == ''  || getCheckedValue(document.forms['contestentry'].elements['merch']) == '' || getCheckedValue(document.forms['contestentry'].elements['catering']) == '' || getCheckedValue(document.forms['contestentry'].elements['bestpart']) == '')
    {
    	valid = false;
        message += "-You must answer all the survey questions!";
    }
    
    
    if (valid == false) 
    {
    	alert(message);
    }
    return valid;
}

function isEmail(str) 
{
	 var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	 var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	 return (!r1.test(str) && r2.test(str));
}

function isZip(zip)
{
	len=zip.length
	digits="0123456789"
	if(len != 5 && len != 10)
	{
		return false;
	}
	for(i=0; i<5; i++)
	{
		if (digits.indexOf(zip.charAt(i))<0)
		{
			return false;
		}
	}
	if (len == 10)
	{
		if ( zip.charAt(5) != '-' )
			{
				return false;
			}
		for(i=6; i<10; i++)
		{
			if (digits.indexOf(zip.charAt(i))<0)
			{
				return false;
			}
		}
	}
	return true;
}

function getCheckedValue(radioObj) 
{
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

