window.log=function(){log.history=log.history||[];log.history.push(arguments);if(this.console){arguments.callee=arguments.callee.caller;var a=[].slice.call(arguments);(typeof console.log==="object"?log.apply.call(console.log,console,a):console.log.apply(console,a))}};
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
{console.log();return window.console;}catch(err){return window.console={};}})());

(function($) {
    $.fn.nexsysFunkyLava = function(options) {
    
        options = $.extend({
            overlap : 10,
            speed : 500,
            reset : 10,
            color : '#0b2b61',
            easing : 'easeOutBack',
            step: false
        }, options);
    
        var nav = $(this);
        var currentPageItem = $('nav li.selected');
        var blob;
        var reset;
        
        var windowOffset = nav.parents('.window').offset();
        var offset = nav.offset();
        offset.top = offset.top - windowOffset.top;
        offset.left = offset.left - windowOffset.left;        
            
        blob = $('#blob').css({
            width : currentPageItem.width() + 20,
            height : currentPageItem.height() + options.overlap,
            left : offset.left + currentPageItem.position().left,
            top : offset.top + 4 + currentPageItem.position().top - options.overlap / 2,
            backgroundColor : options.color
        });
        
        $('nav li').hover(function() {
            // mouse over
            var that = this;
            currentPageItem = $('nav li.selected');             
            clearTimeout(reset);
            blob.animate(
                {
                    left : offset.left + $(this).position().left,
                    width : $(this).width() + 20
                },
                {
                    duration : options.speed,
                    easing : options.easing,
                    step: options.step,
                    queue : false
                }
            );
        }, function() {
            // mouse out    
            var that = this;           
            currentPageItem = $('nav li.selected');                 
            reset = setTimeout(function() {
                blob.animate({
                    width : currentPageItem.width() + 20,
                    left : offset.left + currentPageItem.position().left
                },
                { duration: options.speed,
                  easing: options.easing,
                  step: options.step                      
                });
            }, options.reset);

        });                
        return this;
    
    };

})(jQuery);



