(function($){$.cpMenu={navWrapper:null,subActive:null,openMenus:new Array(),activeMenuLinks:new Array(),activeSubLink:new Array(),maxLevelOpen:0,maxNavWidth:null,delayHideTimers:new Array(),submenuWrapper:null,activeNavItem:null,selectOpened:null,selectMouseInNav:null,options:{additionalNavWidth:0,offsetHeight:0,offsetWidth:0,offsetTop:0,offsetLeft:0,offsetRight:0,subOffsetTop:0,subOffsetLeft:0,hugTotalRight:false,centerDropdowns:false,overflowAlignRight:false,highlightPath:true,showDropShadow:true,delayHideMs:500,excludeUnderClass:null,selectDelayHideMs:1000,widthHeightMode:"client"},buildMenu:function(options){$.cpMenu.navWrapper=this;return this.each(function(){$.cpMenu.options=$.extend($.cpMenu.options,options||{});$.cpMenu.maxNavWidth=parseInt($.cpMenu.getWidth(this)+$.cpMenu.options.additionalNavWidth);$.cpMenu.submenuWrapper=document.createElement("DIV");$($.cpMenu.submenuWrapper).css("position","relative");$(this).prepend($.cpMenu.submenuWrapper);var euc=$.cpMenu.options.excludeUnderClass;$(this).find("td").not($(this).find("td td")).each(function(j){var ulList=(euc?($(this).find("ul").not("."+euc+" ul")):$(this).find("ul"));ulList.each(function(k){var smDiv=document.createElement("div");smDiv.id="submenu"+j+"_"+k;smDiv.className='submenu';$.cpMenu.submenuWrapper.appendChild(smDiv);$(this).parent().mouseover(function(){$.cpMenu.openSubmenu(this,"submenu"+j+"_"+k,(k==0));if(k==0){$(this).addClass("active");$.cpMenu.activeNavItem=this}});$(this).parent().addClass("hasSubmenu");$(this).parent().find("a:first").addClass("submenuLink");$(this).parent().attr("id","submenuLink"+j+"_"+k);$(this).find("script").remove();$(this).appendTo($(smDiv))});if(ulList.length==0){$(this).find("a:first").mouseover(function(){for(var i=$.cpMenu.maxLevelOpen;i>=0;i--){$.cpMenu.hideMenu(i)}})}});if($.cpMenu.options.highlightPath){(euc?$($.cpMenu.submenuWrapper).find("li:not(.hasSubmenu)").not("."+euc+" li"):$($.cpMenu.submenuWrapper).find("li:not(.hasSubmenu)")).mouseover(function(){var i=$(this).parents("div:eq(0)").get(0).depthLevel;$($.cpMenu.activeSubLink[i]).removeClass("submenuActive");$.cpMenu.activeSubLink[i]=null})}$($.cpMenu.submenuWrapper).find("select").each(function(i){$(this).focus(function(){$.cpMenu.clearHideMenu($.cpMenu.maxLevelOpen);$.cpMenu.selectOpened=true;$.cpMenu.selectMouseInNav=true});$(this).blur(function(){var selMouseStatus=$.cpMenu.selectMouseInNav;$.cpMenu.clearHideMenu($.cpMenu.maxLevelOpen);$.cpMenu.selectOpened=false;if(!selMouseStatus){$.cpMenu.delayHideTimers[0]=setTimeout("$.cpMenu.hideMenu(0)",$.cpMenu.options.selectDelayHideMs)}})})})},openSubmenu:function(item,divid,isFirstLevel){$.cpMenu.selectOpened=false;var isFirstTime=false;var doFrame=$.browser.msie&&/6.0/.test(navigator.userAgent);$.divid=$("#"+divid).get(0);if($.cpMenu.options.showDropShadow&&!doFrame&&$.divid&&$.divid.dropShadowDrawn==undefined){$.divid.dropShadowDrawn=true;$($.divid).prepend('<div class="dropShadow"><div class="ds_r_t"></div><div class="ds_r"></div><div class="ds_b_l"></div><div class="ds_b"></div><div class="ds_br"></div></div>')}if(isFirstLevel){if($.cpMenu.subActive!=undefined){for(var i=$.cpMenu.maxLevelOpen;i>=0;i--){$.cpMenu.hideMenu(i)}}$.cpMenu.subActive=$.divid;$.cpMenu.maxLevelOpen=0;if($.cpMenu.subActive.openOnLeft==undefined){isFirstTime=true;$.cpMenu.subActive.depthLevel=0;var pos=$.cpMenu.findPos(item,$.cpMenu.navWrapper.get(0));var subWidth=$.cpMenu.getWidth($.cpMenu.subActive);var m_marginLeft;var m_marginTop;m_marginTop=(pos.y+$.cpMenu.getHeight(item))+$.cpMenu.options.offsetHeight+$.cpMenu.options.offsetTop+"px";m_marginLeft=pos.x+$.cpMenu.options.offsetLeft+"px";var hugRightOverride=false;var hugRightDisable=false;if($.cpMenu.options.centerDropdowns){var centerML=(pos.x+($.cpMenu.getWidth(item)/2))-((subWidth/2)+$.cpMenu.options.offsetRight);if(centerML>=0){if((centerML+subWidth)>$.cpMenu.maxNavWidth){hugRightOverride=true}else{m_marginLeft=centerML+"px";hugRightDisable=true}}else{m_marginLeft=0+"px";hugRightDisable=true}}if(!hugRightDisable&&((pos.x+subWidth)>$.cpMenu.maxNavWidth||hugRightOverride)){if(!hugRightOverride&&!$.cpMenu.options.hugTotalRight&&$.cpMenu.options.overflowAlignRight&&((pos.x+$.cpMenu.getWidth(item))-subWidth)>=0){m_marginLeft=((pos.x+$.cpMenu.getWidth(item))-(subWidth+$.cpMenu.options.offsetRight))+"px"}else{m_marginLeft=($.cpMenu.maxNavWidth-subWidth)+"px"}$.cpMenu.subActive.openOnLeft=true}else{$.cpMenu.subActive.openOnLeft=false}$($.cpMenu.subActive).css({"margin-left":m_marginLeft,"margin-top":m_marginTop})}$($.cpMenu.subActive).css("visibility","visible");if(doFrame){var frame=$("#hideframe0").get(0);if(frame==null){frame=document.createElement("IFRAME");frame.setAttribute("src","");$(frame).css({"border":"0px","position":"absolute"});frame.id='hideframe0';$.cpMenu.submenuWrapper.appendChild(frame)}$(frame).css({"margin-left":$($.cpMenu.subActive).css("margin-left"),"margin-top":$($.cpMenu.subActive).css("margin-top"),"height":$.cpMenu.getHeight($.cpMenu.subActive),"width":$.cpMenu.getWidth($.cpMenu.subActive),"visibility":"visible"})}}else{var parentDiv=$(item).parents("div:eq(0)").get(0);for(var i=$.cpMenu.maxLevelOpen;i>parentDiv.depthLevel;i--){$.cpMenu.hideMenu(i)}if($.cpMenu.options.highlightPath){if($.cpMenu.activeSubLink[parentDiv.depthLevel]!=null){$($.cpMenu.activeSubLink[parentDiv.depthLevel]).removeClass("submenuActive")}$.cpMenu.activeSubLink[parentDiv.depthLevel]=item;$.cpMenu.activeMenuLinks[parentDiv.depthLevel]=item;$(item).addClass("submenuActive")}$.cpMenu.subActive=$.divid;if($.cpMenu.subActive.openOnLeft==undefined){isFirstTime=true;var m_marginLeft;var m_marginTop;$.cpMenu.subActive.openOnLeft=parentDiv.openOnLeft;$.cpMenu.subActive.depthLevel=parentDiv.depthLevel+1;if(!parentDiv.openOnLeft){var temp=(parseInt($($.cpMenu.openMenus[parentDiv.depthLevel]).css("margin-left"))+$.cpMenu.getWidth($.cpMenu.openMenus[parentDiv.depthLevel])+$.cpMenu.options.offsetWidth+$.cpMenu.options.subOffsetLeft);if((temp+$.cpMenu.getWidth($.cpMenu.subActive))>$.cpMenu.maxNavWidth){$.cpMenu.subActive.openOnLeft=true}else{m_marginLeft=temp+"px"}}if($.cpMenu.subActive.openOnLeft){m_marginLeft=(parseInt($($.cpMenu.openMenus[parentDiv.depthLevel]).css("margin-left"))-($.cpMenu.getWidth($.cpMenu.subActive)+$.cpMenu.options.offsetWidth+$.cpMenu.options.subOffsetLeft))+"px"}m_marginTop=(parseInt($($.cpMenu.openMenus[parentDiv.depthLevel]).css("margin-top"))+item.offsetTop+$.cpMenu.options.subOffsetTop)+"px";$($.cpMenu.subActive).css({"margin-left":m_marginLeft,"margin-top":m_marginTop})}$.cpMenu.maxLevelOpen=$.cpMenu.subActive.depthLevel;$($.cpMenu.subActive).css("visibility","visible");if(doFrame){var frame=$("#hideframe"+$.cpMenu.subActive.depthLevel).get(0);if(frame==null){frame=document.createElement("IFRAME");frame.setAttribute("src","");$(frame).css({"border":"0px","position":"absolute"});frame.id='hideframe'+$.cpMenu.subActive.depthLevel;$.cpMenu.submenuWrapper.appendChild(frame)}$(frame).css({"margin-left":$($.cpMenu.subActive).css("margin-left"),"margin-top":$($.cpMenu.subActive).css("margin-top"),"height":$.cpMenu.getHeight($.cpMenu.subActive),"width":$.cpMenu.getWidth($.cpMenu.subActive),"visibility":"visible"})}}$.cpMenu.clearHideMenu($.cpMenu.maxLevelOpen);if($.cpMenu.subActive){$.cpMenu.openMenus[$.cpMenu.subActive.depthLevel]=$.cpMenu.subActive;if(isFirstTime){var maxLevelOpen=$.cpMenu.maxLevelOpen;if(isFirstLevel){$(item).mouseout(function(){$.cpMenu.delayHideMenu(0)})}$($.cpMenu.subActive).mouseout(function(){$.cpMenu.delayHideMenu(0)});$($.cpMenu.subActive).mouseover(function(){if($.cpMenu.options.highlightPath&&!isFirstLevel){for(var i=0;i<this.depthLevel;i++){if($.cpMenu.activeSubLink[i]==null){$($.cpMenu.activeMenuLinks[i]).addClass("submenuActive");$.cpMenu.activeSubLink[i]=$.cpMenu.activeMenuLinks[i]}}}$.cpMenu.clearHideMenu(maxLevelOpen)})}}},delayHideMenu:function(minLevel){if(!$.cpMenu.selectOpened){for(var i=minLevel;i<=$.cpMenu.maxLevelOpen;i++){if(!$.cpMenu.delayHideTimers[i]){$.cpMenu.delayHideTimers[i]=setTimeout("$.cpMenu.hideMenu("+i+")",$.cpMenu.options.delayHideMs)}}}else{$.cpMenu.selectMouseInNav=false}},hideMenu:function(hideLevel){if($.cpMenu.openMenus[hideLevel]&&$($.cpMenu.openMenus[hideLevel]).css("visibility")!='hidden'){var doFrame=$.browser.msie&&/6.0/.test(navigator.userAgent);if(hideLevel==0){$($.cpMenu.activeNavItem).removeClass("active");$.cpMenu.activeNavItem=null}$($.cpMenu.openMenus[hideLevel]).css("visibility","hidden");if($.cpMenu.options.highlightPath&&$.cpMenu.activeSubLink[hideLevel]!=null){$($.cpMenu.activeSubLink[hideLevel]).removeClass('submenuActive');$.cpMenu.activeSubLink[hideLevel]=null}if(doFrame){$('#hideframe'+hideLevel).css("visibility","hidden")}}},clearHideMenu:function(maxLevel){for(var i=0;i<=maxLevel;i++){if($.cpMenu.delayHideTimers[i]){clearTimeout($.cpMenu.delayHideTimers[i]);$.cpMenu.delayHideTimers[i]=null}}if($.cpMenu.selectOpened){$.cpMenu.selectMouseInNav=true}},getWidth:function(item){return($.cpMenu.options.widthHeightMode=="client"?item.offsetWidth:$(item).width())},getHeight:function(item){return($.cpMenu.options.widthHeightMode=="client"?item.offsetHeight:$(item).height())},findPos:function findPos(ctrl,limit){var pos={x:0,y:0};if(ctrl.offsetParent){while(ctrl&&ctrl!=limit){pos.x+=ctrl.offsetLeft;pos.y+=ctrl.offsetTop;ctrl=ctrl.offsetParent}}else if(ctrl.x&&ctrl.y){pos.x+=ctrl.x;pos.y+=ctrl.y}return pos}};$.fn.buildMenu=$.cpMenu.buildMenu})(jQuery);