/*** JAVASCRIPT FUNCTIONS ***/

/* START FUNCTIONS */

/**
* hoverIntent r6 // 2011.02.26 // jQuery 1.5.1+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne brian(at)cherne(dot)net
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseenter"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.bind('mouseenter',handleHover).bind('mouseleave',handleHover)}})(jQuery);

/* END FUNCTIONS */

/* START MASTER DOM  */
jQuery(document).ready(function($){ // MASTER DOM

	$("ul li:last-child").addClass('last-child'); // add .last-child class to appropriate elements

	$('span .wpcf7-validates-as-required').parent().before('<span class="required">*</span>'); // add required mark to all required CF7 form fields
	
	//form input default text
	$('#s, input[type="text"], textarea').addClass("watermark");
	$('#s, input[type="text"], textarea').focus(function () {
		if ($(this).val() == $(this)[0].defaultValue) {
			$(this).val("").removeClass("watermark");
		}
	}).blur(function() {
		if ($(this).val() == "") {
			 $(this).val($(this)[0].defaultValue).addClass("watermark");
		}
	});
	//end form input default text

	// BACK TO TOP BUTTON
	$("#back-top").hide(); // hide #back-top first
	
	// fade in #back-top
	$(window).scroll(function () {
		if ($(this).scrollTop() > 400) {
			$('#back-top').fadeIn();
		} else {
			$('#back-top').fadeOut();
		}
	});

	// scroll body to 0px on click
	$('#back-top a').click(function () {
		$('body,html').animate({
			scrollTop: 0
		}, 800);
		return false;
	});
	// END BACK TO TOP BUTTON

	// -- MENUS --	
	$("nav ul.menu li ul li:has(ul)").find("a:first").append(" &raquo; "); // add arrows to any list items that have children
		
	// show drop down on hover
	$(function(){ // menu hover
		$("nav#main-nav ul li").hoverIntent(function(){
			$('ul:first',this).css('display', 'none').slideDown(150);
			//alert("Out");
		}, function(){
			$('ul:first',this).slideUp(300); 
		});
	}); // end menu hover
	// end navigation menu		

	// -- end MENUS --
	
	// disable empty link jumping
	$('a[href=#]').click(function(){
		return false;															  	
	});//end empty link jumping
	
	// comment form validation
	$("#commentform").validate({
		rules: {
			author: "required",
			email: {
				required: true,
				email: true
			},
			url: {
				url: true
			},			
			comment: "required"
		},
		messages: {
			author: "Please enter your name",
			email: "Please enter a valid email address",
			url: "Please enter a valid web address",			
			comment: "Please include your comments"
		}
	}); // end comment form validation		
	
}); // END MASTER DOM
/* END MASTER DOM */
