(function(b){b.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,resizeTimer:null,resizeX:null,resizeY:null,wrapperTopY:null,dropShadowHeight:0,doFrame:false,options:{additionalNavWidth:0,offsetHeight:0,offsetWidth:0,minWidth:0,offsetTop:0,offsetLeft:0,offsetRight:0,subOffsetTop:0,subOffsetLeft:0,fixedOffsetTop:null,keep1stAboveFold:false,keepAboveFold:true,subInnerWrapper:false,hugTotalLeft:false,hugTotalRight:false,centerDropdowns:false,overflowAlignRight:false,highlightPath:true,showDropShadow:true,delayHideMs:500,excludeUnderClass:null,selectDelayHideMs:1000,widthHeightMode:"client",applyActiveAways:false,navItemInitWidth:false},buildMenu:function(c){b.cpMenu.navWrapper=this;b.cpMenu.doFrame=(b.browser.msie===true&&b.browser.version<7);return this.each(function(){b.cpMenu.options=b.extend(b.cpMenu.options,c||{});b.cpMenu.maxNavWidth=parseInt(b.cpMenu.getWidth(this)+b.cpMenu.options.additionalNavWidth);b.cpMenu.submenuWrapper=document.createElement("DIV");b(b.cpMenu.submenuWrapper).css("position","relative");b.cpMenu.submenuWrapper.className="submenuWrapper";b(this).prepend(b.cpMenu.submenuWrapper);if(b.cpMenu.options.navItemInitWidth){var e=b(this).find("table:first").width();b.cpMenu.options.navItemInitWidth=(e>0)}var f=b.cpMenu.options.excludeUnderClass;b(this).find("td").not(b(this).find("td td")).each(function(g){if(b.cpMenu.options.navItemInitWidth){var h=b(this).width();if((e-h)<0){h=e}b(this).width(h);e-=h}var i=(f?(b(this).find("ul").not("."+f+" ul")):b(this).find("ul"));i.each(function(j){var m=document.createElement("div");m.id="submenu"+g+"_"+j;m.className="submenu"+(j>0?" subsubmenu":"");b.cpMenu.submenuWrapper.appendChild(m);if(b.cpMenu.options.subInnerWrapper==true){var l=document.createElement("div");l.className="submenuInner";m.appendChild(l)}b(this).parent().mouseover(function(){b.cpMenu.openSubmenu(this,"submenu"+g+"_"+j,(j==0));if(j==0){b(this).addClass("active");b.cpMenu.activeNavItem=this}});b(this).parent().addClass("hasSubmenu");b(this).parent().find("a:first").addClass("submenuLink");b(this).parent().attr("id","submenuLink"+g+"_"+j);b(this).find("script").remove();b(this).appendTo(b(b.cpMenu.options.subInnerWrapper==true?l:m))});if(i.length==0){b(this).find("a:first").mouseover(function(){for(var j=b.cpMenu.maxLevelOpen;j>=0;j--){b.cpMenu.hideMenu(j)}});if(b.cpMenu.options.applyActiveAways==true){b(this).find("a:first").parent().mouseover(function(){b(this).addClass("active")}).mouseout(function(){b(this).removeClass("active")})}}});if(b.cpMenu.options.highlightPath){(f?b(b.cpMenu.submenuWrapper).find("li:not(.hasSubmenu)").not("."+f+" li"):b(b.cpMenu.submenuWrapper).find("li:not(.hasSubmenu)")).mouseover(function(){var g=b(this).parents("div.submenu:eq(0)").get(0).depthLevel;b(b.cpMenu.activeSubLink[g]).removeClass("submenuActive");b.cpMenu.activeSubLink[g]=null})}b(b.cpMenu.submenuWrapper).find("select").each(function(g){b(this).focus(function(){b.cpMenu.onSelectFocus(b.cpMenu.submenuWrapper)});b(this).blur(function(){b.cpMenu.onSelectBlur(b.cpMenu.submenuWrapper)})});b.cpMenu.resizeX=b(window).width();b.cpMenu.resizeY=b(window).height();var d=window.onresize;window.onresize=function(){if(d){d()}clearTimeout(b.cpMenu.resizeTimer);b.cpMenu.resizeTimer=setTimeout("$.cpMenu.resetPositions($.cpMenu.submenuWrapper)",10)}})},onSelectFocus:function(c){b.cpMenu.clearHideMenu(b.cpMenu.maxLevelOpen);b.cpMenu.selectOpened=true;b.cpMenu.selectMouseInNav=true},onSelectBlur:function(d){var c=b.cpMenu.selectMouseInNav;b.cpMenu.clearHideMenu(b.cpMenu.maxLevelOpen);b.cpMenu.selectOpened=false;if(!c){b.cpMenu.delayHideTimers[0]=setTimeout("$.cpMenu.hideMenu(0)",b.cpMenu.options.selectDelayHideMs)}},resetPositions:function(c){if(b.cpMenu.resizeX!=b(window).width()||b.cpMenu.resizeY!=b(window).height()){b.cpMenu.resizeX=b(window).width();b.cpMenu.resizeY=b(window).height();b(c).find(".submenu").each(function(d){this.openOnLeft=undefined})}},openSubmenu:function(t,g,h){if(b.cpMenu.wrapperTopY==null){b.cpMenu.wrapperTopY=b.cpMenu.findPos(b.cpMenu.submenuWrapper,document.body).y}b.cpMenu.selectOpened=false;var q=false;b.divid=b("#"+g).get(0);if(b.divid&&b(b.divid).css("display")=="none"){b(b.divid).css("display","block")}if(b.cpMenu.options.showDropShadow&&!b.cpMenu.doFrame&&b.divid&&b.divid.dropShadowDrawn==undefined){b.divid.dropShadowDrawn=true;b(b.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(b.cpMenu.dropShadowHeight==0){b.cpMenu.dropShadowHeight=b(b.divid).find(".ds_b").height()}}if(b.cpMenu.options.keep1stAboveFold||b.cpMenu.options.keepAboveFold){var n=parseInt(b(window).scrollTop());var v=b(window).height();if(b.divid.windowScroll!=n||b.divid.windowHeight!=v){b.divid.windowScroll=n;b.divid.windowHeight=v;b.divid.openOnLeft=undefined}}if(h){if(b.cpMenu.subActive!=undefined){for(var r=b.cpMenu.maxLevelOpen;r>=0;r--){b.cpMenu.hideMenu(r)}}b.cpMenu.subActive=b.divid;b.cpMenu.maxLevelOpen=0;if(b.cpMenu.subActive.openOnLeft==undefined){q=true;b.cpMenu.subActive.depthLevel=0;var k=b.cpMenu.findPos(t,b.cpMenu.navWrapper.get(0));var e=b.cpMenu.getWidth(b.cpMenu.subActive);var u=b.cpMenu.getHeight(b.cpMenu.subActive);var j;var m;m=(b.cpMenu.options.fixedOffsetTop!=null?b.cpMenu.options.fixedOffsetTop:((k.y+b.cpMenu.getHeight(t))+b.cpMenu.options.offsetHeight+b.cpMenu.options.offsetTop));if(b.cpMenu.options.keep1stAboveFold&&(b.cpMenu.wrapperTopY+m+u+b.cpMenu.dropShadowHeight)>(b.divid.windowScroll+b.divid.windowHeight)){m+=((b.divid.windowScroll+b.divid.windowHeight)-(b.cpMenu.wrapperTopY+m+u+b.cpMenu.dropShadowHeight));if(m<(-1*b.cpMenu.wrapperTopY)){m=(-1*b.cpMenu.wrapperTopY)}}m+="px";if(b.cpMenu.options.hugTotalLeft){j="0px"}else{j=k.x+b.cpMenu.options.offsetLeft+"px";var c=false;var f=false;if(b.cpMenu.options.centerDropdowns){var d=(k.x+(b.cpMenu.getWidth(t)/2))-((e/2)+b.cpMenu.options.offsetRight);if(d>=0){if((d+e)>b.cpMenu.maxNavWidth){c=true}else{j=d+"px";f=true}}else{j=0+"px";f=true}}if(!f&&((k.x+e)>b.cpMenu.maxNavWidth||c)){if(!c&&!b.cpMenu.options.hugTotalRight&&b.cpMenu.options.overflowAlignRight&&((k.x+b.cpMenu.getWidth(t))-e)>=0){j=((k.x+b.cpMenu.getWidth(t))-(e+b.cpMenu.options.offsetRight))+"px"}else{j=(b.cpMenu.maxNavWidth-e)+"px"}b.cpMenu.subActive.openOnLeft=true}else{b.cpMenu.subActive.openOnLeft=false}}b(b.cpMenu.subActive).css({"margin-left":j,"margin-top":m});if(b.cpMenu.options.minWidth>0&&b(b.cpMenu.subActive).width()<b.cpMenu.options.minWidth){b(b.cpMenu.subActive).width(b.cpMenu.options.minWidth)}}b(b.cpMenu.subActive).css("visibility","visible");if(b.cpMenu.doFrame){var o=b("#hideframe0").get(0);if(o==null){o=document.createElement("IFRAME");o.setAttribute("src","");b(o).css({border:"0px",position:"absolute"});o.id="hideframe0";b.cpMenu.submenuWrapper.appendChild(o)}b(o).css({"margin-left":b(b.cpMenu.subActive).css("margin-left"),"margin-top":b(b.cpMenu.subActive).css("margin-top"),height:b.cpMenu.getHeight(b.cpMenu.subActive),width:b.cpMenu.getWidth(b.cpMenu.subActive),visibility:"visible"})}}else{var l=b(t).parents("div.submenu:eq(0)").get(0);for(var r=b.cpMenu.maxLevelOpen;r>l.depthLevel;r--){b.cpMenu.hideMenu(r)}if(b.cpMenu.options.highlightPath){if(b.cpMenu.activeSubLink[l.depthLevel]!=null){b(b.cpMenu.activeSubLink[l.depthLevel]).removeClass("submenuActive")}b.cpMenu.activeSubLink[l.depthLevel]=t;b.cpMenu.activeMenuLinks[l.depthLevel]=t;b(t).addClass("submenuActive")}b.cpMenu.subActive=b.divid;if(b.cpMenu.subActive.openOnLeft==undefined){q=true;var j;var m;b.cpMenu.subActive.openOnLeft=l.openOnLeft;b.cpMenu.subActive.depthLevel=l.depthLevel+1;if(!l.openOnLeft){var s=(parseInt(b(b.cpMenu.openMenus[l.depthLevel]).css("margin-left"))+b.cpMenu.getWidth(b.cpMenu.openMenus[l.depthLevel])+b.cpMenu.options.offsetWidth+b.cpMenu.options.subOffsetLeft);if((s+b.cpMenu.getWidth(b.cpMenu.subActive))>b.cpMenu.maxNavWidth){b.cpMenu.subActive.openOnLeft=true}else{j=s+"px"}}if(b.cpMenu.subActive.openOnLeft){j=(parseInt(b(b.cpMenu.openMenus[l.depthLevel]).css("margin-left"))-(b.cpMenu.getWidth(b.cpMenu.subActive)+b.cpMenu.options.offsetWidth+b.cpMenu.options.subOffsetLeft))+"px"}var u=b.cpMenu.getHeight(b.cpMenu.subActive);m=(parseInt(b(b.cpMenu.openMenus[l.depthLevel]).css("margin-top"))+b.cpMenu.findPos(t,l).y+b.cpMenu.options.subOffsetTop);if(b.cpMenu.options.keepAboveFold&&(b.cpMenu.wrapperTopY+m+u+b.cpMenu.dropShadowHeight)>b(window).height()){m+=(b(window).height()-(b.cpMenu.wrapperTopY+m+u+b.cpMenu.dropShadowHeight));if(m<(-1*b.cpMenu.wrapperTopY)){m=(-1*b.cpMenu.wrapperTopY)}}m+="px";b(b.cpMenu.subActive).css({"margin-left":j,"margin-top":m});if(b.cpMenu.options.minWidth>0&&b(b.cpMenu.subActive).width()<b.cpMenu.options.minWidth){b(b.cpMenu.subActive).width(b.cpMenu.options.minWidth)}}b.cpMenu.maxLevelOpen=b.cpMenu.subActive.depthLevel;b(b.cpMenu.subActive).css("visibility","visible");if(b.cpMenu.doFrame){var o=b("#hideframe"+b.cpMenu.subActive.depthLevel).get(0);if(o==null){o=document.createElement("IFRAME");o.setAttribute("src","");b(o).css({border:"0px",position:"absolute"});o.id="hideframe"+b.cpMenu.subActive.depthLevel;b.cpMenu.submenuWrapper.appendChild(o)}b(o).css({"margin-left":b(b.cpMenu.subActive).css("margin-left"),"margin-top":b(b.cpMenu.subActive).css("margin-top"),height:b.cpMenu.getHeight(b.cpMenu.subActive),width:b.cpMenu.getWidth(b.cpMenu.subActive),visibility:"visible"})}}b.cpMenu.clearHideMenu(b.cpMenu.maxLevelOpen);if(b.cpMenu.subActive){b.cpMenu.openMenus[b.cpMenu.subActive.depthLevel]=b.cpMenu.subActive;if(q){var p=b.cpMenu.maxLevelOpen;if(h){b(t).mouseout(function(){b.cpMenu.delayHideMenu(0)})}b(b.cpMenu.subActive).mouseout(function(){b.cpMenu.delayHideMenu(0)});b(b.cpMenu.subActive).mouseover(function(){if(b.cpMenu.options.highlightPath&&!h){for(var w=0;w<this.depthLevel;w++){if(b.cpMenu.activeSubLink[w]==null){b(b.cpMenu.activeMenuLinks[w]).addClass("submenuActive");b.cpMenu.activeSubLink[w]=b.cpMenu.activeMenuLinks[w]}}}b.cpMenu.clearHideMenu(p)})}}},delayHideMenu:function(d){if(!b.cpMenu.selectOpened){for(var c=d;c<=b.cpMenu.maxLevelOpen;c++){if(!b.cpMenu.delayHideTimers[c]){b.cpMenu.delayHideTimers[c]=setTimeout("$.cpMenu.hideMenu("+c+")",b.cpMenu.options.delayHideMs)}}}else{b.cpMenu.selectMouseInNav=false}},hideMenu:function(c){if(b.cpMenu.openMenus[c]&&b(b.cpMenu.openMenus[c]).css("visibility")!="hidden"){if(c==0){b(b.cpMenu.activeNavItem).removeClass("active");b.cpMenu.activeNavItem=null}b(b.cpMenu.openMenus[c]).css("visibility","hidden");if(b.cpMenu.options.highlightPath&&b.cpMenu.activeSubLink[c]!=null){b(b.cpMenu.activeSubLink[c]).removeClass("submenuActive");b.cpMenu.activeSubLink[c]=null}if(b.cpMenu.doFrame){b("#hideframe"+c).css("visibility","hidden")}}},clearHideMenu:function(c){for(var d=0;d<=c;d++){if(b.cpMenu.delayHideTimers[d]){clearTimeout(b.cpMenu.delayHideTimers[d]);b.cpMenu.delayHideTimers[d]=null}}if(b.cpMenu.selectOpened){b.cpMenu.selectMouseInNav=true}},getWidth:function(c){return(b.cpMenu.options.widthHeightMode=="client"?c.offsetWidth:b(c).width())},getHeight:function(c){return(b.cpMenu.options.widthHeightMode=="client"?c.offsetHeight:b(c).height())},findPos:function a(d,c){var e={x:0,y:0};if(d.offsetParent){while(d&&d!=c){e.x+=parseInt(d.offsetLeft);e.y+=parseInt(d.offsetTop);d=d.offsetParent}}else{if(d.x&&d.y){e.x+=parseInt(d.x);e.y+=parseInt(d.y)}}return e}};b.fn.buildMenu=b.cpMenu.buildMenu})(jQuery);
