// Function to add "sfhover" class to navigation dropdowns
function setup_nav_hover() {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i = 0; i < sfEls.length; i++) {
		sfEls[i].onmouseover = function() {
			this.className = "sfhover";
		}
		sfEls[i].onmouseout = function() {
			this.className = this.className.replace(new RegExp("sfhover\\b"), "");
		}
	}
}


function setup_accordion() {
	// hide the entire accordion
	$('#accordion dd, #sidebaraccordion dd').css('display', 'none');
	
	// set the accordion click event
	$('#accordion dt, #sidebaraccordion dt').click(function() {
		var $nextDD = $(this).next();
		var $visibleSiblings = $nextDD.siblings('dd:visible');
		if ( $visibleSiblings.length ) {
			$visibleSiblings.slideUp('normal', function() {$nextDD.slideToggle('normal');});
		} else {$nextDD.slideToggle('normal');}
	});
	
	// show the first item in the accordion
	$('#accordion dd:first, #sidebaraccordion dd:first').css('display', 'block');
}


function setup_tabs() {
	$('#container-1 > ul').tabs();
}


function setup_form_validation() {
	// only do this if we have forms on the page
	if ($('form').size() > 0) {
		
		// set the validation rules
		$("#free_trial_form, #contact_form").validate({
			rules: {
				name: "required",
				email: {
					required: true,
					email: true
				},
				company: "required",
				address: "required",
				city: "required",
				state: "required",
				zip: "required",
				howheard: "required",
				current_pos_software: "required",
				looking_to_change: "required"
			},
			messages: {
				name: "Please let us know who you are.",
				email: {
					required: "Please include your email address.",
					email: "Your email address isn't valid."
				},
				company: "Please include your company's name.",
				address: "Please include your address.",
				city: "Please include your city.",
				state: "Please include your state.",
				zip: "Please include your postal code.",
				howheard: "How did you hear about us?",
				current_pos_software: "Do you currently have any POS software?",
				looking_to_change: "Are you interested in changing software?"
			}
		});
	}
}



// DOM Ready stuff
$(function() {	
	// setup the hover events 
	setup_nav_hover();
	
	// setup the accordion	
	setup_accordion();
	
	// setup the UI tabs		
	setup_tabs();
	
	// setup the form validation
	setup_form_validation();
});