(function(jQuery){jQuery.fn.lavaLamp=function(o){o=jQuery.extend({fx:'swing',speed:500,click:function(){return true},startItem:'no',autoReturn:true,returnDelay:0,setOnClick:true,homeTop:0,homeLeft:0,homeWidth:0,homeHeight:0,returnHome:false},o||{});return this.each(function(){var path=location.pathname+location.search+location.hash;var $selected=new Object;var delayTimer;var $back;var $home;var ce;if(o.homeTop||o.homeLeft){$home=jQuery('<li class="homeLava selectedLava"></li>').css({left:o.homeLeft,top:o.homeTop,width:o.homeWidth,height:o.homeHeight,position:'absolute'});jQuery(this).prepend($home);}
var $li=jQuery('li',this);if(o.startItem=='no')
$selected=jQuery('li a[href$="'+path+'"]',this).parent('li');if($selected.length==0&&o.startItem=='no'&&location.hash)
$selected=jQuery('li a[href$="'+location.hash+'"]',this).parent('li');if($selected.length==0||o.startItem!='no'){if(o.startItem=='no')o.startItem=0;$selected=jQuery($li[o.startItem]);}
ce=jQuery('li.selectedLava',this)[0]||jQuery($selected).addClass('selectedLava')[0];$li.mouseover(function(){if(jQuery(this).hasClass('homeLava')){ce=jQuery(this)[0];}
move(this);});$back=jQuery('<li class="backLava"><div class="leftLava"></div><div class="bottomLava"></div><div class="cornerLava"></div></li>').appendTo(this);jQuery(this).mouseout(function(){if(o.autoReturn){if(o.returnHome&&$home){move($home[0]);}
else if(o.returnDelay){if(delayTimer)clearTimeout(delayTimer);delayTimer=setTimeout(move,o.returnDelay+o.speed);}
else{move();}}});$li.click(function(e){if(o.setOnClick){jQuery(ce).removeClass('selectedLava');jQuery(this).addClass('selectedLava');ce=this;}
return o.click.apply(this,[e,this]);});if(o.homeTop||o.homeLeft)
$back.css({left:o.homeLeft,top:o.homeTop,width:o.homeWidth,height:o.homeHeight});else
$back.css({left:ce.offsetLeft,top:ce.offsetTop,width:ce.offsetWidth,height:ce.offsetHeight});function move(el){if(!el)el=ce;var bx=0,by=0;if(!jQuery.browser.msie){bx=($back.outerWidth()-$back.innerWidth())/2;by=($back.outerHeight()-$back.innerHeight())/2;}
$back.stop().animate({left:el.offsetLeft-bx,top:el.offsetTop-by,width:el.offsetWidth,height:el.offsetHeight},o.speed,o.fx);};});};})(jQuery);