$(document).ready(function()
{	$.fn.superfish.defaults = { 
		hoverClass:    'sfHover',          // the class applied to hovered list items 
		pathClass:     'overideThisToUse', // the class you have applied to list items that lead to the current page 
		pathLevels:    1,                  // the number of levels of submenus that remain open or are restored using pathClass 
		delay:         200,                // the delay in milliseconds that the mouse can remain outside a submenu without it closing 
		animation:     {height:'show',opacity:'show'},   // an object equivalent to first parameter of jQuery’s .animate() method 
		speed:         200,           // speed of the animation. Equivalent to second parameter of jQuery’s .animate() method 
		autoArrows:    false,               // if true, arrow mark-up generated automatically = cleaner source code at expense of initialisation performance 
		dropShadows:   true,               // completely disable drop shadows by setting this to false 
		disableHI:     false,              // set to true to disable hoverIntent detection 
		onInit:        function(){},       // callback function fires once Superfish is initialised – 'this' is the containing ul 
		onBeforeShow:  function(){},       // callback function fires just before reveal animation begins – 'this' is the ul about to open 
		onShow:        function(){},       // callback function fires once reveal animation completed – 'this' is the opened ul 
		onHide:        function(){}        // callback function fires after a sub-menu has closed – 'this' is the ul that just closed 
	};
	$('ul.sf-menu').superfish();
	
	// Global rollover function
	$(".rollover").hover(
		function () {
			var oldsource = $("img", this).attr("src");
			var gifCheck = oldsource.indexOf('.gif');
			var jpgCheck = oldsource.indexOf('.jpg');
			var pngCheck = oldsource.indexOf('.png');
			if ( gifCheck > 0 ) {	var newsource = oldsource.replace(".gif", "-over.gif");	}
			else if ( jpgCheck > 0 ) {	var newsource = oldsource.replace(".jpg", "-over.jpg");	}
			else if ( pngCheck > 0 ) {	var newsource = oldsource.replace(".png", "-over.png");	}
			else {	var newsource = oldsource;	}
			$("img", this).attr("src", newsource);
		}, 
		function () {
			var oldsource = $("img", this).attr("src");
			var overCheck = oldsource.indexOf('-over');
			if ( overCheck > 0 ) {	var newsource = oldsource.replace("-over", "");	}
			else {	var newsource = oldsource;	}
			$("img", this).attr("src", newsource);
		}
	);
	
	function requestCheck ()
	{	if ( $("#contactForm #request").attr('checked')) {	$("#contactForm .brochureAddress").show('fast');	}
		else {	$("#contactForm .brochureAddress").hide('fast');	}
	}
	
	$("#contactForm #request").click(
		function () {
			requestCheck ();
		}
	);
	requestCheck ();
	
	// Contact form validation
	$("#contactForm").validate({
		errorLabelContainer: $('div#formErrors'),
		rules: {
			name: {		required: true,	minlength: 2 },
			email: {	required: true,	email: true	},
			phone: {	required: true,	minlength: 2 },
			
			request: {		},
			address: {			required: "#request:checked",	minlength: 2 },
			city: {				required: "#request:checked",	minlength: 2 },
			state: {			required: "#request:checked",	minlength: 1 },
			zip: {				required: "#request:checked",	minlength: 2 },
			
			contact: {	required: true },
			comments: {	required: true,	minlength: 5 }
		},
		messages: {
			name: {		required: "Please enter your Name", minlength: "Please enter your Name" },
			email: {	required: "Please enter your Email Address", email: "Please enter a valid email address" },
			phone: {	required: "Please enter your Phone Number", minlength: "Please enter your Phone Number" },
			
			request: {		},
			address: {			required: "Please enter your Address", minlength: "Please enter your Address" },
			city: {				required: "Please enter your City", minlength: "Please enter your City" },
			state: {			required: "Please select your State", minlength: "Please select your State" },
			zip: {				required: "Please enter your Zip", minlength: "Please enter your Zip" },
			
			contact: {	required: "Please select who you would like to contact" },
			comments: {	required: "Please enter your Message", minlength: "Please enter your Message" }
		}
	});
	
	// Warranty Registration form validation
	$("#registerForm").validate({
		errorLabelContainer: $('div#formErrors'),
		rules: {
			name: {				required: true,	minlength: 2 },
			address: {			required: true,	minlength: 2 },
			city: {				required: true,	minlength: 2 },
			state: {			required: true,	minlength: 1 },
			zip: {				required: true,	minlength: 2 },
			purchaseDate: {		required: true,	minlength: 2 },
			purchaseFrom: {		required: true,	minlength: 2 },
			purchaseState: {	required: true,	minlength: 1 },
			purchaseZip: {		required: true,	minlength: 2 },
			modelNumber: {		required: true,	minlength: 2 },
			articleNumber: {	required: true,	minlength: 2 },
			serialNumber: {		required: true,	minlength: 2 }
		},
		messages: {
			name: {				required: "Please enter your Name", minlength: "Please enter your Name" },
			address: {			required: "Please enter your Address", minlength: "Please enter your Address" },
			city: {				required: "Please enter your City", minlength: "Please enter your City" },
			state: {			required: "Please select your State", minlength: "Please select your State" },
			zip: {				required: "Please enter your Zip", minlength: "Please enter your Zip" },
			purchaseDate: {		required: "Please enter your Purchase Date", minlength: "Please enter your Purchase Date" },
			purchaseFrom: {		required: "Please enter your Purchase From", minlength: "Please enter your Purchase From" },
			purchaseState: {	required: "Please select your Purchase State", minlength: "Please select your Purchase State" },
			purchaseZip: {		required: "Please enter your Purchase Zip", minlength: "Please enter your Purchase Zip" },
			modelNumber: {		required: "Please enter your Model Number", minlength: "Please enter your Model Number" },
			articleNumber: {	required: "Please enter your Article Number", minlength: "Please enter your Article Number" },
			serialNumber: {		required: "Please enter your Serial Number", minlength: "Please enter your Serial Number" }
		}
	});
});

