(function($){ 
preferred = function() {
	
	$("#preferred_page form").live("submit",(function(){
		$('#preferred_page #error, #preferred_page #error_redirect').remove();
		$('#preferred_page #most_often_other, #preferred_page #relievers_other').css("border-color","#0D5BB1");
		//if only whitespace submitted
		$("#preferred_page #fname, #preferred_page #email, #preferred_page #email, #preferred_page #most_often_other, #preferred_page #relievers_other").each(function(){
			if($(this).val().match(/[\S]+/) == null)
				$(this).val("");
		});
		
		//store missing, invalid state
			var missingFName = ($("#preferred_page #fname").val() == "") ? true: false;
			var missingEmail = ($("#preferred_page #email").val() == "") ? true: false;
			var missingBenefit = true;
			if ($('#preferred_page #benefit1').is(':checked') || $('#preferred_page #benefit2').is(':checked') || $('#preferred_page #benefit3').is(':checked'))
				missingBenefit = false;
			var missingRelieversOther = false;
			if ($('#preferred_page #relievers11').is(':checked')){
				if ($('#preferred_page #relievers_other').val() == "")
					missingRelieversOther = true;
			}
			var missingMostOftenOther = false;
			if ($('#preferred_page #most_often11').is(':checked')){
				if ($('#preferred_page #most_often_other').val() == "")
					missingMostOftenOther = true;
			}
				
			
			var invalidmail = !isValidEmail($("#preferred_page #email").val());
			var missing = missingFName || missingEmail || missingBenefit || missingRelieversOther || missingMostOftenOther;
			
			
			//create error div
			var error_string = "<div id='error'><ul>";
									  if (missing)
										error_string += "<li>Please fill out required fields.</li>";
									  if (invalidmail && (!missingEmail))
										error_string += "<li>Please enter a valid email address.</li>";
									  error_string += "</ul></div>";
									   
			//animate outlines
			if (missingFName){
				$("#preferred_page #fname").animate( borderColors, speed);
			}
			if (missingEmail || invalidmail){
				$("#preferred_page #email").animate( borderColors, speed);
			}
			if (missingBenefit){
				$("#preferred_page #container .box").animate( borderColors, speed);
			}
			if (missingMostOftenOther){
				$("#preferred_page #most_often_other").animate( borderColors, speed);
			}
			if (missingRelieversOther){
				$("#preferred_page #relievers_other").animate( borderColors, speed);
			}
			
			//listener for focus (remove red)
			$("#preferred_page #fname, #preferred_page #email, #preferred_page #most_often_other, #preferred_page #relievers_other").focus(function(){$(this).animate({ 
									   borderBottomColor: '#0D5BB1',
									   borderTopColor: '#0D5BB1',
									   borderLeftColor: '#0D5BB1',
									   borderRightColor: '#0D5BB1'}, 500);
			});
			$("#preferred_page #benefit1, #preferred_page #benefit2, #preferred_page #benefit3").click(function(){											 
				$('#preferred_page #container .box').animate({
									   borderBottomColor: '#E4F0FB',
									   borderTopColor: '#E4F0FB',
									   borderLeftColor: '#E4F0FB',
									   borderRightColor: '#E4F0FB'}, 500);
			});
			
			//append error message and end function
			if (missing || invalidmail){
				$('#preferred_page #form_container').append(error_string);
				if (missingFName || missingEmail || missingBenefit || invalidmail)
					$('html,body').animate({scrollTop: 500}, 1000);
				return false;
			}									
	}));
	
	/* Keypress handlers to auto-select input */
		$("#preferred_page #relievers_other").keypress( function(e){
			if ($('#preferred_page #relievers_other').length > 0){
				$('#preferred_page #relievers11').attr('checked', true);
			}
		});
	
	/* Keypress handlers to auto-select input */
		$("#preferred_page #most_often_other").keypress( function(e){
			if ($('#preferred_page #most_often_other').length > 0){
				$('#preferred_page #most_often11').attr('checked', true);
			}
		});
	
	$("#preferred_page a.reset").live("click",(function(e){
		e.preventDefault();
		$('#preferred_page #error, #preferred_page #error_redirect').remove();
		$('#preferred_page input:text').val("");
		$('#preferred_page input:text').css("border-color","#0D5BB1");
		$('#preferred_page .box').css("border-color","#E4F0FB");
		$('#preferred_page input:radio[name=age], #preferred_page input:radio[name=sex], #preferred_page input:radio[name=most_often]').attr("checked","");
		$('#preferred_page #benefit1, #preferred_page #benefit2, #preferred_page #benefit3').attr("checked","");
		$('#preferred_page #relievers1, #preferred_page #relievers2, #preferred_page #relievers3, #preferred_page #relievers4, #preferred_page #relievers5, #preferred_page #relievers6, #preferred_page #relievers7, #preferred_page #relievers8, #preferred_page #relievers9, #preferred_page #relievers10, #preferred_page #relievers11').attr("checked","");
		$('#preferred_page #other_info').attr("checked","");
	}));															 
	
	$("#preferred_page a.submit").live("click",(function(e){
		e.preventDefault();
		$("#preferred_page form").submit();
	}));
	
}
})(jQuery);	
