/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <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@cherne.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 p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){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.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

/**
* Mega Menu Hover Functions
*/
function megaHoverOver(){
    $(this).find(".sub").stop().fadeTo('fast', 1).show();
        
    (function($) { //Calculate width of all ul's
        jQuery.fn.calcSubWidth = function() {
            rowWidth = 0; //Calculate row
            $(this).find("ul").each(function() { rowWidth += $(this).width(); });	
        };
    })(jQuery); 
    
    if ( $(this).find(".row").length > 0 ) { //If row exists...
        var biggestRow = 0;	//Calculate each row
        $(this).find(".row").each(function() {							   
            $(this).calcSubWidth(); //Find biggest row
            if(rowWidth > biggestRow) { biggestRow = rowWidth; }
        });
        //Set width
        $(this).find(".sub").css({'width' :biggestRow});
        $(this).find(".row:last").css({'margin':'0'});
        
    } else { //If row does not exist...
        $(this).calcSubWidth(); //Set Width
        $(this).find(".sub").css({'width' : rowWidth});
    }
}

function megaHoverOut(){ 
  $(this).find(".sub").stop().fadeTo('fast', 0, function() {
      $(this).hide(); 
  });
}

function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}

var secureform = function() {
	var $f = $(".secure", this);
	if ($f.length > 0) {
		$('.warning').remove(); 
		$.get("contact/email.php", { request: null }, function(txt){ 
			$f.append('<input type="hidden" id="ts" name="ts" value="'+txt+'" />'); 
		});
		$f.submit( function(event) { 
			event.preventDefault();
			var data = $(":input", $f).serialize();
			$.post("contact/email.php", data, function(txt) { $f.prepend( $("<p />").addClass("message").html(txt) ); });
		});
		$(":input", $f).click(function () { $(".message", $f).remove(); });
	}
}
