(function(a){a.widget("chug.multihover",{options:{override:"auto",alternate:null},hovered:false,_create:function(){if(!this.options.alternate){throw"No alternate specified for multihover"}var b=this;var f=null;var d=[],i=[];function e(j,l){for(var k=0;k<j.length;k++){if(j[k]==l){j.splice(k,1);k--}}}function h(){if(f){return}f=window.setTimeout(function(){f=null;if(d.length){if(!b.hovered){b.hovered=true;if(b.options.override==="auto"){b.open()}}}else{if(i.length){if(b.hovered){b.hovered=false;if(b.options.override==="auto"){b.close()}}}}},1)}function g(){if(!b.hovered){try{var j=this;while(j.parentNode&&j.parentNode!=document){b.element.each(function(){if(j==this){throw"success"}});j=j.parentNode}return}catch(k){if(k!="success"){throw k}}}d.push(this);e(i,this);h()}function c(){i.push(this);e(d,this);h()}this.element.hover(g,c);a(this.options.alternate).hover(g,c)},open:function(){a(this.options.alternate).show();this.element.trigger("multihover-open")},close:function(){a(this.options.alternate).hide();this.element.trigger("multihover-close")},show:function(){this.options.override="show";this.open()},hide:function(){this.options.override="hide";this.close()},auto:function(){this.options.override="auto";if(this.hovered){this.open()}else{this.close()}}})})(jQuery);
