﻿Function.prototype.debounce = function (threshold, execAsap) {    var func = this, // reference to original function        timeout; // handle to setTimeout async task (detection period)    // return the new debounced function which executes the original function only once    // until the detection period expires    return function debounced () {        var obj = this, // reference to original context object            args = arguments; // arguments at execution time        // this is the detection function. it will be executed if/when the threshold expires        function delayed () {            // if we're executing at the end of the detection period            if (!execAsap)                func.apply(obj, args); // execute now            // clear timeout handle            timeout = null;        };        // stop any current detection period        if (timeout)            clearTimeout(timeout);        // otherwise, if we're not already waiting and we're executing at the beginning of the waiting period        else if (execAsap)            func.apply(obj, args); // execute now        // reset the waiting period        timeout = setTimeout(delayed, threshold || 100);    };}  jQuery.debounce = function(callback, delay) {	var timeout;	return function() {	clearTimeout(timeout);		timeout = setTimeout(callback, delay);	}}jQuery.jFastMenu = function(id){	var startTempo = 0;	var me;	$(id + ' ul li').hover(	function(){		$(this).find('ul:first').stop(true,true);		$(this).find('ul:first').animate({height:'show'}, 'fast');	},	function(){		$(this).find('ul:first').animate({height:'hide', opacity:'hide'}, 'normal');	});}function youAreHere(pos) {	$("#"+pos).css( 'background-position',  'left bottom') ;}