(function(e){var d,c=[],g=9000,a=false;var f=function(p,l){var n=[],o;var h=p,p=h;var i=e("#sub"+p.id).get(0);var k=false,m=false;e("a[id^=menu_]",i).each(function(){if(d[this.id]){n.push(new f(this,false))}});if(l&&typeof(d[p.id].setup.first)=="object"){var j=d[p.id].setup.first}else{var j=d[p.id].setup}p=(j.event&&(o=findParent(p,j.event)))?o:p;h=j.width?(typeof(j.width)=="number"?j.width:(o=findParent(h,j.width)?o:p)):p;e(i).css({position:"absolute",top:0,left:0,display:"block"}).hide();j.offsetX=j.offsetX||0;j.offsetY=j.offsetY||0;e(p).mouseover(function(){k=true;if(i.style.visibility!="visible"){var s=e(p).offset();if(j.angle=="auto"){var r={left:s.left,right:(document.body.clientWidth-s.left-p.clientWidth),top:s.top,bottom:(document.body.clientHeight-s.top-p.clientHeight)};j.angle=(r.bottom>=r.top*0.5)?"b":"t";j.angle+=(r.right>=r.left*0.7)?"r":"l";switch(j.angle){case"tr":j.angle="br";j.drop="t";break;case"br":j.angle="tr";j.drop="d";break;case"tl":j.angle="bl";j.drop="l";break;case"bl":j.angle="tl";j.drop="l";break}if(j.angle=="tr"||j.angle=="br"){j.offsetX=-j.offsetX}if(j.angle=="bl"||j.angle=="br"){j.offsetY=-j.offsetY}}var q=j.offsetX,t=j.offsetY;if(j.angle=="tr"||j.angle=="br"){q+=e(p).outerWidth()}if(j.angle=="bl"||j.angle=="br"){t+=e(p).outerHeight()}if(typeof(h)=="number"){e(i).width(h)}else{e(i).width(e(h).width())}if(j.drop=="l"){q-=e(i).outerWidth()}else{if(j.drop=="t"){t-=e(i).outerHeight()}}e(i).css({left:(s.left+q),top:(s.top+t),zIndex:g++}).show()}}).mouseout(function(){k=false});e(i).mouseover(function(){m=true}).mouseout(function(){m=false});this.ping=function(){var r=k|m;for(var q=n.length-1;q>=0;q--){if(n[q].ping){r|=n[q].ping()}}if(!r){e(i).hide()}return r}};var b=function(h){var h=new f(h,true);c.push(h);if(h.ping){setInterval(h.ping,700)}};e.fn.dropDownMenu=function(){if(!a&&dropDownMenu){a=true;d=dropDownMenu;for(var j in d){if(d[j].setup){var h=d[j].setup.open.replace(/\[\[id\]\]/,j.replace(/^menu_/g,""))||"";for(var i in d[j]){if(i!="setup"){h+=d[j].setup.item.replace(/\[\[id\]\]/g,i.replace(/^menu_/,"")).replace(/\[\[name\]\]/g,d[j][i].name).replace(/\[\[link\]\]/g,d[j][i].link).replace(/\[\[current\]\]/g,d[j][i].current?(d[j].setup.current||""):"")||""}}e("body").append(h+(d[j].setup.close||""))}}return this.each(function(){if(d[this.id]){b(this)}return this})}return this}})(jQuery);