
LITHIUM.DropDownMenu=Class.create({initialize:function(element,activationEventType,options){this.element=$(element);this.menuLoaded=false;this.menuElement=this.element.down(".lia-menu-dropdown-items");this.options={useAnimation:false,effectsOpenOptions:{duration:.1,from:0,to:1.0},effectsCloseOptions:{duration:.1,from:1.0,to:0}};this.observers=[];this.bound={documentObserver:null};Object.extend(this.options,options||{});this.addEventListeners(activationEventType);this.element.reference=this;},addHoverStyle:function(){this.element.addClassName("dropdownHover");},removeHoverStyle:function(){$$('.dropdownHover').invoke("removeClassName","dropdownHover");},openMenu:function(){if(this.iframeElement==null){this.iframeElement=new Element("iframe",{"id":"dropDownShim","src":"javascript:void(0);","style":"display:none;"});this.element.up().appendChild(this.iframeElement);this.iframeElement.setStyle({"zIndex":"500","position":"absolute","frameborder":"0","border":"0"});}else{this.iframeElement.show();}
this.addHoverStyle();this.iframeElement.clonePosition(this.menuElement);},closeMenu:function(){Event.stopObserving(document,'click',this.bound.documentObserver);this.removeHoverStyle();this.iframeElement.hide();},clickEvent:function(event){var clickElement=Event.findElement(event,'a');if(typeof clickElement!='undefined'&&clickElement.name=="title"){$(clickElement).up().select("a.dialog-link").each(function(item){Event.observe(item,'click',this.closeMenu.bindAsEventListener(this));}.bind(this));$(clickElement).up().select("a.ajax-link").each(function(item){Event.observe(item,'click',this.closeMenu.bindAsEventListener(this));}.bind(this));this.bound.documentObserver=this.closeMenu.bindAsEventListener(this);Event.observe(document,'click',this.bound.documentObserver);this.openMenu();Event.stop(event);}},addEventListeners:function(activationEventType){if(activationEventType=="mouseover"){Event.observe(this.element,'mouseover',this.openMenu.bindAsEventListener(this));Event.observe(this.element,'mouseout',this.closeMenu.bindAsEventListener(this));}
else if(activationEventType=="click"){Event.observe(this.element,'click',this.clickEvent.bindAsEventListener(this));}
this.menuLoaded=true;},removeEventListeners:function(activationEventType){if(activationEventType=="mouseover"){Event.stopObserving(this.element,'mouseover',this.openMenu.bindAsEventListener(this));Event.stopObserving(this.element,'mouseout',this.closeMenu.bindAsEventListener(this));}
else if(activationEventType=="click"){Event.stopObserving(this.element,'click',this.clickEvent.bindAsEventListener(this));}}});LITHIUM.DropDownMenu.forceCloseMenu=function(element){element.up(".dropdownHover").reference.closeMenu();};

LITHIUM.ResizeImages=Class.create({initialize:function(element,maxWidth,elementCssSelector,maxWidthCssClass){this.element=element;var selected=$(this.element).select(elementCssSelector);selected.each(function(item){this.resizeImagesInElement(item,maxWidth,maxWidthCssClass)}.bind(this));},resizeImagesInElement:function(item,maxWidth,maxWidthClass){item.select('img').each(function(subItem){var siWidth=subItem.getWidth();if(siWidth>maxWidth){var siHeight=subItem.getHeight();var multiplier=maxWidth/siWidth;subItem.width=maxWidth;subItem.height=siHeight*multiplier;subItem.addClassName(maxWidthClass);}});}});

LITHIUM.TagList=Class.create({initialize:function(element,confirmationElementSelector,toggleSelector){this.element=$(element);this.confirmationElementSelector=confirmationElementSelector;this.element.select(toggleSelector).each(function(item){var selector=this.confirmationElementSelector;Event.observe(item,"click",function(event){Event.stop(event);item.up("li").down(selector).toggleClassName("hidden");});}.bind(this));}});
