$.fn.reverse=[].reverse;var allUIMenus=[];$.fn.menu=function(options){var caller=this;var options=options;var m=new Menu(caller,options);allUIMenus.push(m);$(this).click(function(){if(m.menuOpen==false){m.showMenu();}
else{m.kill();};return false;});};function Menu(caller,options){var menu=this;var caller=$(caller);var container=$('<div class="dd-menu-container ui-widget ui-widget-content">'+options.content+'</div>');this.menuOpen=false;this.menuExists=false;this.loadingNextMenu=0;var options=jQuery.extend({content:null,width:350,maxHeight:285,positionOpts:{posX:'left',posY:'bottom',offsetX:0,offsetY:0,directionH:'right',directionV:'down',detectH:true,detectV:true,linkToFront:false},showSpeed:300,linkHover:'dd-menu-li-state-hover',linkHoverSecondary:'li-hover',crossSpeed:80,crumbDefaultText:'All',backLink:false,backLinkText:'Back',flyOut:false,flyOutOnState:'ui-state-default',nextMenuLink:'ui-icon-triangle-1-e',nextCrumbLink:'ui-icon-carat-1-e',actionUrl:$('#actionUrl').attr('rel'),actionJs:$('#actionJs').attr('rel'),selId:'-1'},options);var killAllMenus=function(){$.each(allUIMenus,function(i){if(allUIMenus[i].menuOpen){allUIMenus[i].kill();};});};this.kill=function(){caller.removeClass('dd-menu-open');container.find('li').removeClass(options.linkHoverSecondary).find('a').removeClass(options.linkHover);if(options.flyOutOnState){container.find('li a').removeClass(options.flyOutOnState);};if(container.is('.dd-menu-ipod')){};if(container.is('.dd-menu-flyout')){menu.resetFlyoutMenu();};container.parent().hide();menu.menuOpen=false;$(document).unbind('click',killAllMenus);$(document).unbind('keydown');};this.showMenu=function(){killAllMenus();if(!menu.menuExists){menu.create()};caller.addClass('dd-menu-open');container.parent().show().click(function(){menu.kill();return false;});container.hide().slideDown(options.showSpeed).find('.dd-menu:eq(0)');menu.menuOpen=true;$(document).click(killAllMenus);$(document).keydown(function(event){var e;if(event.which!=""){e=event.which;}
else if(event.charCode!=""){e=event.charCode;}
else if(event.keyCode!=""){e=event.keyCode;}
var menuType=($(event.target).parents('div').is('.dd-menu-flyout'))?'flyout':'ipod';switch(e){case 37:if(menuType=='flyout'){$(event.target).trigger('mouseout');if($('.'+options.flyOutOnState).size()>0){$('.'+options.flyOutOnState).trigger('mouseover');};};if(menuType=='ipod'){$(event.target).trigger('mouseout');if($('.dd-menu-footer').find('a').size()>0){$('.dd-menu-footer').find('a').trigger('click');};if($('.dd-menu-header').find('a').size()>0){$('.dd-menu-current-crumb').prev().find('a').trigger('click');};if($('.dd-menu-current').prev().is('.dd-menu-indicator')){$('.dd-menu-current').prev().trigger('mouseover');};};return false;break;case 38:if($(event.target).is('.'+options.linkHover)){var prevLink=$(event.target).parent().prev().find('a:eq(0)');if(prevLink.size()>0){$(event.target).trigger('mouseout');prevLink.trigger('mouseover');};}
else{container.find('a:eq(0)').trigger('mouseover');}
return false;break;case 39:if($(event.target).is('.dd-menu-indicator')){if(menuType=='flyout'){$(event.target).next().find('a:eq(0)').trigger('mouseover');}
else if(menuType=='ipod'){$(event.target).trigger('click');setTimeout(function(){$(event.target).next().find('a:eq(0)').trigger('mouseover');},options.crossSpeed);};};return false;break;case 40:if($(event.target).is('.'+options.linkHover)){var nextLink=$(event.target).parent().next().find('a:eq(0)');if(nextLink.size()>0){$(event.target).trigger('mouseout');nextLink.trigger('mouseover');};}
else{container.find('a:eq(0)').trigger('mouseover');}
return false;break;case 27:killAllMenus();break;case 13:if($(event.target).is('.dd-menu-indicator')&&menuType=='ipod'){$(event.target).trigger('click');setTimeout(function(){$(event.target).next().find('a:eq(0)').trigger('mouseover');},options.crossSpeed);};break;};});};this.create=function(){container.css({width:options.width}).appendTo('body').find('ul:first').not('.dd-menu-breadcrumb').addClass('dd-menu');container.find('ul, li a').addClass('ui-corner-all');container.find('ul').attr('role','menu').eq(0).attr('aria-activedescendant','active-menuitem').attr('aria-labelledby',caller.attr('id'));container.find('li').attr('role','menuitem');container.find('li:has(ul)').attr('aria-haspopup','true').find('ul').attr('aria-expanded','false');container.find('a').attr('tabindex','-1');if(container.find('ul').size()>1){if(options.flyOut){menu.flyout(container,options);}
else{menu.drilldown(container,options);}}
else{container.find('a').click(function(){menu.chooseItem(this);return false;});};if(options.linkHover){var allLinks=container.find('.dd-menu li a');allLinks.hover(function(){var menuitem=$(this);$('.'+options.linkHover).removeClass(options.linkHover).blur().parent().removeAttr('id');$(this).addClass(options.linkHover).focus().parent().attr('id','active-menuitem');},function(){$(this).removeClass(options.linkHover).blur().parent().removeAttr('id');});};if(options.linkHoverSecondary){container.find('.dd-menu li').hover(function(){$(this).siblings('li').removeClass(options.linkHoverSecondary);if(options.flyOutOnState){$(this).siblings('li').find('a').removeClass(options.flyOutOnState);}
$(this).addClass(options.linkHoverSecondary);},function(){$(this).removeClass(options.linkHoverSecondary);});};menu.setPosition(container,caller,options);menu.menuExists=true;if(!options.flyOut){menu.goTo(container,options);}};this.chooseItem=function(item){if($(item).is('.itemLink'))
{var id=$(item).attr('id').split(/_/);if(options.actionUrl.length>0)
{window.location=options.actionUrl+id[3];}
else if(options.actionJs.length>0)
{eval(options.actionJs+'('+id[1]+', '+id[2]+', '+id[3]+');');}}
else if($(item).is('.directLink'))
{window.location=$(item).attr('href');}
else
{menu.kill();}};};Menu.prototype.flyout=function(container,options){var menu=this;this.resetFlyoutMenu=function(){var allLists=container.find('ul ul');allLists.removeClass('ui-widget-content').hide();};container.addClass('dd-menu-flyout').find('li:has(ul)').each(function(){var linkWidth=container.width();var showTimer,hideTimer;var allSubLists=$(this).find('ul');allSubLists.css({left:linkWidth,width:linkWidth}).hide();$(this).find('a:eq(0)').addClass('dd-menu-indicator').html('<span>'+$(this).find('a:eq(0)').text()+'</span><span class="ui-icon '+options.nextMenuLink+'"></span>').hover(function(){clearTimeout(hideTimer);var subList=$(this).next();if(!fitVertical(subList,$(this).offset().top)){subList.css({top:0,bottom:'auto'});};if(!fitHorizontal(subList,$(this).offset().left+100)){subList.css({left:'auto',right:linkWidth,'z-index':999});};showTimer=setTimeout(function(){subList.addClass('ui-widget-content').show(options.showSpeed).attr('aria-expanded','true');},300);},function(){clearTimeout(showTimer);var subList=$(this).next();hideTimer=setTimeout(function(){subList.removeClass('ui-widget-content').hide(options.showSpeed).attr('aria-expanded','false');},400);});$(this).find('ul a').hover(function(){clearTimeout(hideTimer);if($(this).parents('ul').prev().is('a.dd-menu-indicator')){$(this).parents('ul').prev().addClass(options.flyOutOnState);}},function(){hideTimer=setTimeout(function(){allSubLists.hide(options.showSpeed);container.find(options.flyOutOnState).removeClass(options.flyOutOnState);},500);});});container.find('a').click(function(e){if($(this).next().is('ul')){e.preventDefault();e.stopPropagation();}
else{menu.chooseItem(this);}
return false;});};Menu.prototype.goToClickDelayedTimes=0;Menu.prototype.goToClickDelayed=function(elem,delay,initialLoading){var menu=this;setTimeout(function(){if(menu.goToClickDelayedTimes>40)
{return;}
else if(delay==1||menu.loadingNextMenu>initialLoading)
{$(elem).trigger('click');menu.goToClickDelayedTimes=0;}
else
{menu.goToClick(elem,delay);menu.goToClickDelayedTimes++;}},delay);};Menu.prototype.goToClick=function(elem,delay){if($(elem).length>0){this.goToClickDelayed(elem,delay,this.loadingNextMenu);}};Menu.prototype.goTo=function(container,options){var menu=this;var uids=options.selId.split(/_/);if(uids[3]>0)
{menu.goToClick(container.find('.type_'+uids[1]),1);if(uids[2]>=0)
{menu.goToClick(container.find('.cat_'+uids[1]+'_'+uids[2]),50);}}};Menu.prototype.drilldown=function(container,options){var menu=this;var topList=container.find('.dd-menu');var breadcrumb=$('<ul class="dd-menu-breadcrumb ui-widget-header ui-corner-all ui-helper-clearfix"></ul>');var crumbDefaultHeader=$('<li class="dd-menu-breadcrumb-text">'+options.crumbDefaultText+'</li>');var firstCrumbText=(options.backLink)?options.backLinkText:options.crumbDefaultText;var firstCrumbClass=(options.backLink)?'dd-menu-prev-list':'dd-menu-all-lists';var firstCrumbLinkClass=(options.backLink)?'ui-state-default ui-corner-all':'';var firstCrumbIcon=(options.backLink)?'<span class="ui-icon ui-icon-triangle-1-w"></span>':'';var firstCrumb=$('<li class="'+firstCrumbClass+'"><a href="#" class="'+firstCrumbLinkClass+'">'+firstCrumbIcon+firstCrumbText+'</a></li>');container.addClass('dd-menu-ipod');if(options.backLink){breadcrumb.addClass('dd-menu-footer').appendTo(container).hide();}
else{breadcrumb.addClass('dd-menu-header').prependTo(container);};breadcrumb.append(crumbDefaultHeader);var checkMenuHeight=function(el){var max_height=options.maxHeight-breadcrumb.getTotalHeight();if(el.height()>max_height){el.addClass('dd-menu-scroll');el.height(max_height);topList.height(max_height);}
else
{if(topList.height()<el.height())
{topList.height(el.height());}}};var resetChildMenu=function(el){el.removeClass('dd-menu-scroll').removeClass('dd-menu-current').height('auto');topList.height('auto');};this.resetDrilldownMenu=function(){$('.dd-menu-current').removeClass('dd-menu-current');topList.animate({left:0},options.crossSpeed,function(){$(this).find('ul').each(function(){$(this).hide();resetChildMenu($(this));});topList.addClass('dd-menu-current');});$('.dd-menu-all-lists').find('span').remove();breadcrumb.empty().append(crumbDefaultHeader);$('.dd-menu-footer').empty().hide();checkMenuHeight(topList);};topList.addClass('dd-menu-content dd-menu-current ui-widget-content ui-helper-clearfix').css({width:container.width()}).find('ul').css({width:container.width(),left:container.width()}).addClass('ui-widget-content').hide();checkMenuHeight(topList);topList.find('a').each(function(){if($(this).next().is('ul')){$(this).addClass('dd-menu-indicator').each(function(){$(this).html('<span>'+$(this).text()+'</span><span class="ui-icon '+options.nextMenuLink+'"></span>');}).click(function(){var nextList=$(this).next();var parentUl=$(this).parents('ul:eq(0)');var parentLeft=(parentUl.is('.dd-menu-content'))?0:parseFloat(topList.css('left'));var nextLeftVal=Math.round(parentLeft-parseFloat(container.width()));var footer=$('.dd-menu-footer');resetChildMenu(parentUl);topList.animate({left:nextLeftVal},options.crossSpeed,function(){menu.loadingNextMenu++;});nextList.show().addClass('dd-menu-current').attr('aria-expanded','true');var setPrevMenu=function(backlink){var b=backlink;var c=$('.dd-menu-current');var prevList=c.parents('ul:eq(0)');c.hide().attr('aria-expanded','false');resetChildMenu(c);prevList.addClass('dd-menu-current').attr('aria-expanded','true');if(prevList.hasClass('dd-menu-content')){b.remove();footer.hide();};checkMenuHeight(prevList);};if(options.backLink){if(footer.find('a').size()==0){footer.show();$('<a href="#"><span class="ui-icon ui-icon-triangle-1-w"></span> <span>Back</span></a>').appendTo(footer).click(function(){var b=$(this);var prevLeftVal=parseFloat(topList.css('left'))+container.width();topList.animate({left:prevLeftVal},options.crossSpeed,function(){setPrevMenu(b);});return false;});}}
else{if(breadcrumb.find('li').size()==1){breadcrumb.empty().append(firstCrumb);firstCrumb.find('a').click(function(){menu.resetDrilldownMenu();return false;});}
$('.dd-menu-current-crumb').removeClass('dd-menu-current-crumb');var crumbText=$(this).find('span:eq(0)').text();var newCrumb=$('<li class="dd-menu-current-crumb"><a href="javascript://" class="dd-menu-crumb">'+crumbText+'</a></li>');newCrumb.appendTo(breadcrumb).find('a').click(function(e){if($(this).parent().is('.dd-menu-current-crumb')){e.preventDefault();e.stopPropagation();}
else{var newLeftVal=-($('.dd-menu-current').parents('ul').size()-1)*options.width;topList.animate({left:newLeftVal},options.crossSpeed,function(){setPrevMenu();});$(this).parent().addClass('dd-menu-current-crumb').find('span').remove();$(this).parent().nextAll().remove();};return false;});newCrumb.prev().append(' <span class="ui-icon '+options.nextCrumbLink+'"></span>');};checkMenuHeight(nextList);return false;});}
else{$(this).click(function(){menu.chooseItem(this);return false;});};});};Menu.prototype.setPosition=function(widget,caller,options){var el=widget;var referrer=caller;var dims={refX:referrer.offset().left,refY:referrer.offset().top,refW:referrer.getTotalWidth(),refH:referrer.getTotalHeight()};var options=options;var xVal,yVal;var helper=$('<div class="positionHelper"></div>');helper.css({position:'absolute',left:dims.refX,top:dims.refY,width:dims.refW,height:dims.refH});el.wrap(helper);switch(options.positionOpts.posX){case'left':xVal=0;break;case'center':xVal=dims.refW/2;break;case'right':xVal=dims.refW;break;};switch(options.positionOpts.posY){case'top':yVal=0;break;case'center':yVal=dims.refH/2;break;case'bottom':yVal=dims.refH;break;};xVal+=options.positionOpts.offsetX;yVal+=options.positionOpts.offsetY;if(options.positionOpts.directionV=='up'){el.css({top:'auto',bottom:yVal});if(options.positionOpts.detectV&&!fitVertical(el)){el.css({bottom:'auto',top:yVal});}}
else{el.css({bottom:'auto',top:yVal});if(options.positionOpts.detectV&&!fitVertical(el)){el.css({top:'auto',bottom:yVal});}};if(options.positionOpts.directionH=='left'){el.css({left:'auto',right:xVal});if(options.positionOpts.detectH&&!fitHorizontal(el)){el.css({right:'auto',left:xVal});}}
else{el.css({right:'auto',left:xVal});if(options.positionOpts.detectH&&!fitHorizontal(el)){el.css({left:'auto',right:xVal});}};if(options.positionOpts.linkToFront){referrer.clone().addClass('linkClone').css({position:'absolute',top:0,right:'auto',bottom:'auto',left:0,width:referrer.width(),height:referrer.height()}).insertAfter(el);};};function sortBigToSmall(a,b){return b-a;};jQuery.fn.getTotalWidth=function(){return $(this).width()+parseInt($(this).css('paddingRight'))+parseInt($(this).css('paddingLeft'))+parseInt($(this).css('borderRightWidth'))+parseInt($(this).css('borderLeftWidth'));};jQuery.fn.getTotalHeight=function(){return $(this).height()+parseInt($(this).css('paddingTop'))+parseInt($(this).css('paddingBottom'))+parseInt($(this).css('borderTopWidth'))+parseInt($(this).css('borderBottomWidth'));};function getScrollTop(){return self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop;};function getScrollLeft(){return self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft;};function getWindowHeight(){var de=document.documentElement;return self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;};function getWindowWidth(){var de=document.documentElement;return self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;};function fitHorizontal(el,leftOffset){var leftVal=parseInt(leftOffset)||$(el).offset().left;return(leftVal+$(el).width()<=getWindowWidth()+getScrollLeft()&&leftVal-getScrollLeft()>=0);};function fitVertical(el,topOffset){var topVal=parseInt(topOffset)||$(el).offset().top;return(topVal+$(el).height()<=getWindowHeight()+getScrollTop()&&topVal-getScrollTop()>=0);};