(function($){var _2=[];$.fn.jdMenu=function(_3){var _4=$.extend({},arguments.callee.defaults,_3);return this.each(function(){_2.push(this);$(this).addClass("jd_menu_flag_root");this.$settings=$.extend({},_4,{isVerticalMenu:$(this).is(".jd_menu_vertical")});addEvents(this);});};$.fn.jdMenuShow=function(){return this.each(function(){showMenuLI.apply(this);});};$.fn.jdMenuHide=function(){return this.each(function(){hideMenuUL.apply(this);});};$(window).bind("click",function(){$(_2).find("ul:visible").jdMenuHide();}).bind("unload",function(){$(_2).each(function(){this.$settings=null;});});$.fn.jdMenu.defaults={activateDelay:750,showDelay:150,hideDelay:550,onShow:null,onHideCheck:null,onHide:null,onAnimate:null,onClick:null,offsetX:4,offsetY:2,iframe:$.browser.msie};$.fn.parentsUntil=function(_5){var a=[];$(this[0]).parents().each(function(){a.push(this);return !$(this).is(_5);});return this.pushStack(a,arguments);};function getSettings(el){var p=$(el).parents("ul.jd_menu_flag_root");return (p.size()>0?p[0].$settings:null);}function addEvents(ul){removeEvents(ul);$("> li",ul).hover(hoverOverLI,hoverOutLI).bind("click",itemClick).find("> a.accessible").bind("click",accessibleClick);}function removeEvents(ul){$("> li",ul).unbind("mouseover").unbind("mouseout").unbind("click").find("> a.accessible").unbind("click");}function hoverOverLI(){var _b="jd_menu_hover"+($(this).parent().is(".jd_menu_flag_root")?"_menubar":"");$(this).addClass(_b).find("> a").addClass(_b);if(this.$timer){clearTimeout(this.$timer);}if($("> ul",this).size()>0){var _c=getSettings(this);var _d=($(this).parents("ul.jd_menu_flag_root").find("ul:visible").size()==0)?_c.activateDelay:_c.showDelay;var t=this;this.$timer=setTimeout(function(){showMenuLI.apply(t);},_d);}}function hoverOutLI(){$(this).removeClass("jd_menu_hover").removeClass("jd_menu_hover_menubar").find("> a").removeClass("jd_menu_hover").removeClass("jd_menu_hover_menubar");if(this.$timer){clearTimeout(this.$timer);}if($(this).is(":visible")&&$("> ul",this).size()>0){var _f=getSettings(this);var ul=$("> ul",this)[0];this.$timer=setTimeout(function(){hideMenuUL.apply(ul);},_f.hideDelay);}}function showMenuLI(){var _me=$(this),ul=$("> ul",this).get(0),_ul=$(ul);if(_ul.is(":visible")){return false;}if(this.$timer){clearTimeout(this.$timer);}var _12=getSettings(this);if(_12.onShow!=null&&_12.onShow.apply(this)==false){return false;}var _13=_me.parent().is(".jd_menu_flag_root"),c="jd_menu_active"+(_13?"_menubar":"");_me.addClass(c).find("> a").addClass(c);if(!_13){c="jd_menu_active"+(_me.parent().parent().parent().is(".jd_menu_flag_root")?"_menubar":"");_me.parent().parent().addClass(c).find("> a").addClass(c);}_me.parent().find("> li > ul:visible").not(ul).each(function(){hideMenuUL.apply(this);});addEvents(ul);var _14=function(x1,x2,y1,y2){this.x1=x1;this.x2=x2;this.y1=y1;this.y2=y2;};_14.prototype.contains=function(_19){return (this.x1<=_19.x1&&_19.x2<=this.x2)&&(this.y1<=_19.y1&&_19.y2<=this.y2);};_14.prototype.transform=function(x,y){return new _14(this.x1+x,this.x2+x,this.y1+y,this.y2+y);};_14.prototype.nudgeX=function(_1c){if(this.x1<_1c.x1){return new _14(_1c.x1,_1c.x1+(this.x2-this.x1),this.y1,this.y2);}else{if(this.x2>_1c.x2){return new _14(_1c.x2-(this.x2-this.x1),_1c.x2,this.y1,this.y2);}}return this;};_14.prototype.nudgeY=function(_1d){if(this.y1<_1d.y1){return new _14(this.x1,this.x2,_1d.y1,_1d.y1+(this.y2-this.y1));}else{if(this.y2>_1d.y2){return new _14(this.x1,this.x2,_1d.y2-(this.y2-this.y1),_1d.y2);}}return this;};var sx=$(window).scrollLeft(),sy=$(window).scrollTop(),ww=$(window).innerWidth(),wh=$(window).innerHeight(),viewport=new _14(sx,sx+ww,sy,sy+wh);_ul.css({visibility:"hidden",left:0,top:0}).show();var _1f=_ul.outerWidth(),menuHeight=_ul.outerHeight();var tp=_me.parent(),thisWidth=tp.outerWidth(),thisBorderWidth=parseInt(tp.css("borderLeftWidth"))+parseInt(tp.css("borderRightWidth")),thisHeight=_me.outerHeight(),thisOffset=_me.offset({border:false});if(isNaN(thisBorderWidth)){thisBorderWidth=0;}_ul.hide().css({visibility:""});var _21=[];_21[0]=new _14(thisOffset.left,thisOffset.left+_1f,thisOffset.top+thisHeight,thisOffset.top+thisHeight+menuHeight);_21[1]=new _14((thisOffset.left+thisWidth)-_1f,thisOffset.left+thisWidth,_21[0].y1,_21[0].y2);_21[2]=_21[0].nudgeX(viewport);_21[3]=new _14(thisOffset.left+thisWidth-thisBorderWidth,thisOffset.left+thisWidth-thisBorderWidth+_1f,thisOffset.top,thisOffset.top+menuHeight);_21[4]=new _14(_21[3].x1,_21[3].x2,_21[0].y1-menuHeight,_21[0].y1);_21[5]=_21[3].nudgeY(viewport);_21[6]=new _14(thisOffset.left,thisOffset.left+_1f,thisOffset.top-menuHeight,thisOffset.top);_21[7]=new _14((thisOffset.left+thisWidth)-_1f,thisOffset.left+thisWidth,_21[6].y1,_21[6].y2);_21[8]=_21[6].nudgeX(viewport);_21[9]=new _14(thisOffset.left-_1f,thisOffset.left,_21[3].y1,_21[3].y2);_21[10]=new _14(_21[9].x1,_21[9].x2,_21[4].y1+thisHeight-menuHeight,_21[4].y1+thisHeight);_21[11]=_21[10].nudgeY(viewport);var _22=[];if(_me.parent().is(".jd_menu_flag_root")&&!_12.isVerticalMenu){_22=[0,1,2,6,7,8,5,11];}else{_22=[3,4,5,9,10,11,0,1,2,6,7,8];}var pos=_22[0];for(var i=0,j=_22.length;i<j;i++){if(viewport.contains(_21[_22[i]])){pos=_22[i];break;}}var _25=_21[pos];_me.add(_me.parents()).each(function(){if($(this).css("position")=="absolute"){var abs=$(this).offset();_25=_25.transform(-abs.left,-abs.top);return false;}});switch(pos){case 3:_25.y1+=_12.offsetY;case 4:_25.x1-=_12.offsetX;break;case 9:_25.y1+=_12.offsetY;case 10:_25.x1+=_12.offsetX;break;}if(_12.iframe){_ul.bgiframe();}if(_12.onAnimate){_ul.css({left:_25.x1,top:_25.y1});_12.onAnimate.apply(ul,[true]);}else{_ul.css({left:_25.x1,top:_25.y1}).show();}return true;}function hideMenuUL(_27){var _me=$(this);if(!_me.is(":visible")){return false;}var _29=getSettings(this);if(!_29){return false;}if(_29.onHideCheck!=null&&_29.onHideCheck.apply(this)==false){return false;}$("> li ul:visible",this).each(function(){hideMenuUL.apply(this,[false]);});if(_me.is(".jd_menu_flag_root")){alert("We are root");return false;}var _2a=$("> li",this).add(_me.parent());_2a.removeClass("jd_menu_hover").removeClass("jd_menu_hover_menubar").removeClass("jd_menu_active").removeClass("jd_menu_active_menubar").find("> a").removeClass("jd_menu_hover").removeClass("jd_menu_hover_menubar").removeClass("jd_menu_active").removeClass("jd_menu_active_menubar");removeEvents(this);_me.each(function(){if(_29.onAnimate!=null){_29.onAnimate.apply(this,[false]);}else{$(this).hide();}}).find("> .bgiframe").remove();if(_29.onHide!=null){_29.onHide.apply(this);}if(_27==true){_me.parentsUntil("ul.jd_menu_flag_root").removeClass("jd_menu_hover").removeClass("jd_menu_hover_menubar").not(".jd_menu_flag_root").filter("ul").each(function(){hideMenuUL.apply(this,[false]);});}return true;}function accessibleClick(e){if($(this).is(".accessible")){e.preventDefault();}}function itemClick(e){e.stopPropagation();var _2d=getSettings(this);if(_2d.onClick!=null&&_2d.onClick.apply(this)==false){return false;}if($("> ul",this).size()>0){showMenuLI.apply(this);}else{if(e.target==this){var _2e=$("> a",e.target).not(".accessible");if(_2e.size()>0){var a=_2e.get(0);if(!a.onclick){window.open(a.href,a.target||"_self");}else{$(a).click();}}}hideMenuUL.apply($(this).parent(),[true]);}}})(jQuery);