;(function($LITH){LITHIUM.AjaxFeedback=function(feedbackSelector,hideFeedbackEvent){$LITH(document).bind(hideFeedbackEvent,function(){$LITH(feedbackSelector).hide();});}})(LITHIUM.jQuery);
;(function($LITH){LITHIUM.SearchForm=function(params){var form=$LITH(params.formSelector);var selectElements=form.find(params.selectSelector);var buttonElements=form.find(params.buttonSelector);var activeInput=form.find("input[type='text']").not(":hidden");var inputs=form.find(params.inputSelector);var updateAutoCompleteContext=function(context){if(params.useAutoComplete===true){activeInput.autcompleteSetOptions({extraParams:{searchContext:context}});}}
selectElements.change(function(){var currentOptionValue=selectElements.val();if(params.nodesModel.hasOwnProperty(currentOptionValue)){var selectedItem=params.nodesModel[currentOptionValue];buttonElements.attr("title",selectedItem.title);activeInput.hide();activeInput=form.find(selectedItem.inputSelector).val(activeInput.val()).show();updateAutoCompleteContext(currentOptionValue);};});if(params.useAutoComplete===true){updateAutoCompleteContext(selectElements.val());form.bind("autocompleteResult",function(event,row,data){window.location=data.url;});}}
LITHIUM.AdvancedSearchSemaphore=function(advancedLinkSelector,showAdvancedFormEvent,toggleAdvancedFormEvent,reopenAdvancedFormEvent){var advancedSearchLinks=$LITH(advancedLinkSelector);var visible=false;advancedSearchLinks.click(function(event){advancedSearchLinks.toggle();visible=!visible;advancedSearchLinks.trigger(showAdvancedFormEvent);return false;});$LITH(document).bind(toggleAdvancedFormEvent,function(event){if(!event.memo.toggleFromPriorEvent){advancedSearchLinks.toggle();visible=!visible;}});$LITH(document).bind(reopenAdvancedFormEvent,function(event){if(visible){advancedSearchLinks.trigger(showAdvancedFormEvent);}});}})(LITHIUM.jQuery);
;(function($LITH){LITHIUM.DropDownMenu=function(menuElementSelector,clickElementSelector,mouseoverElementSelector,closeMenuEvent){var menuElements=$LITH(menuElementSelector);var clickElements=menuElements.find(clickElementSelector);var mouseoverElements=menuElements.find(mouseoverElementSelector);var menuItemsSelector=".lia-menu-dropdown-items";$LITH(menuElements).data("menuOpened",false);var toggleMenu=function(event){var menuElement=$LITH(event.target).closest(menuElementSelector);if(menuElement.data("menuOpened")===false){closeMenus();menuElement.data("menuOpened",true).addClass("dropdownHover").find(menuItemsSelector).shim();return true;}else{closeMenus();return false;}}
var closeMenus=function(){$LITH(document).trigger(closeMenuEvent);}
var closeMouseoverMenu=function(event){if($LITH(event.target).closest(menuItemsSelector).length==0&&$LITH(event.target).closest(menuElementSelector).length==0){$LITH(document).unbind("mouseover",closeMouseoverMenu);closeMenus();}};var closeClickMenu=function(event){$LITH(document).unbind("click",closeClickMenu);closeMenus();}
mouseoverElements.mouseover(function(event){toggleMenu(event);$LITH(document).mouseover(closeMouseoverMenu);});mouseoverElements.bind("click",function(){return false;});clickElements.click(function(event){var opened=toggleMenu(event);if(opened){$LITH(document).click(closeClickMenu);}
return false;});$LITH(document).bind(closeMenuEvent,function(){menuElements.each(function(){if($LITH(this).data("menuOpened")===true){$LITH(this).data("menuOpened",false).removeClass("dropdownHover").find(menuItemsSelector).shim(false);}});});}})(LITHIUM.jQuery);

(function($){var instances=[];$.tools=$.tools||{};$.tools.tooltip={version:'1.1.2',conf:{effect:'toggle',fadeOutSpeed:"fast",tip:null,predelay:0,delay:30,opacity:1,lazy:undefined,position:['top','center'],offset:[0,0],cancelDefault:true,relative:false,oneInstance:true,events:{def:"mouseover,mouseout",input:"focus,blur",widget:"focus mouseover,blur mouseout",tooltip:"mouseover,mouseout"},api:false},addEffect:function(name,loadFn,hideFn){effects[name]=[loadFn,hideFn];}};var effects={toggle:[function(done){var conf=this.getConf(),tip=this.getTip(),o=conf.opacity;if(o<1){tip.css({opacity:o});}
tip.show();done.call();},function(done){this.getTip().hide();done.call();}],fade:[function(done){this.getTip().fadeIn(this.getConf().fadeInSpeed,done);},function(done){this.getTip().fadeOut(this.getConf().fadeOutSpeed,done);}]};function Tooltip(trigger,conf){var self=this,$self=$(this);trigger.data("tooltip",self);var tip=trigger.next();if(conf.tip){tip=$(conf.tip);if(tip.length>1){tip=trigger.nextAll(conf.tip).eq(0);if(!tip.length){tip=trigger.parent().nextAll(conf.tip).eq(0);}}}
function getPosition(e){var top=conf.relative?trigger.position().top:trigger.offset().top,left=conf.relative?trigger.position().left:trigger.offset().left,pos=conf.position[0];top-=tip.outerHeight()-conf.offset[0];left+=trigger.outerWidth()+conf.offset[1];var height=tip.outerHeight()+trigger.outerHeight();if(pos=='align'){top+=tip.outerHeight()}
if(pos=='center'){top+=height/2;}
if(pos=='bottom'){top+=height;}
pos=conf.position[1];var width=tip.outerWidth()+trigger.outerWidth();if(pos=='align'){left-=tip.outerWidth()}
if(pos=='center'){left-=width/2;}
if(pos=='left'){left-=width;}
return{top:top,left:left};}
var isInput=trigger.is(":input"),isWidget=isInput&&trigger.is(":checkbox, :radio, select, :button"),type=trigger.attr("type"),evt=conf.events[type]||conf.events[isInput?(isWidget?'widget':'input'):'def'];evt=evt.split(/,\s*/);if(evt.length!=2){throw"Tooltip: bad events configuration for "+type;}
trigger.bind(evt[0],function(e){if(conf.oneInstance){$.each(instances,function(){this.hide();});}
var t=tip.data("trigger");if(t&&t[0]!=this){tip.hide().stop(true,true);}
e.target=this;self.show(e);evt=conf.events.tooltip.split(/,\s*/);tip.bind(evt[0],function(){self.show(e);});if(evt[1]){tip.bind(evt[1],function(){self.hide(e);});}});trigger.bind(evt[1],function(e){self.hide(e);});if(!$.browser.msie&&!isInput&&!conf.predelay){trigger.mousemove(function(){if(!self.isShown()){trigger.triggerHandler("mouseover");}});}
if(conf.opacity<1){tip.css("opacity",conf.opacity);}
var pretimer=0,title=trigger.attr("title");if(title&&conf.cancelDefault){trigger.removeAttr("title");trigger.data("title",title);}
$.extend(self,{show:function(e){if(e){trigger=$(e.target);}
clearTimeout(tip.data("timer"));if(tip.is(":animated")||tip.is(":not(:hidden)")){return self;}
function show(){tip.data("trigger",trigger);var pos=getPosition(e);if(conf.tip&&title){tip.html(trigger.data("title"));}
e=e||$.Event();e.type="onBeforeShow";$self.trigger(e,[pos]);if(e.isDefaultPrevented()){return self;}
pos=getPosition(e);tip.css({position:'absolute',top:pos.top,left:pos.left});var eff=effects[conf.effect];if(!eff){throw"Nonexistent effect \""+conf.effect+"\"";}
eff[0].call(self,function(){e.type="onShow";$self.trigger(e);});}
if(conf.predelay){clearTimeout(pretimer);pretimer=setTimeout(show,conf.predelay);}else{show();}
return self;},hide:function(e){clearTimeout(tip.data("timer"));clearTimeout(pretimer);if(!tip.is(":not(:hidden)")){return;}
function hide(){e=e||$.Event();e.type="onBeforeHide";$self.trigger(e);if(e.isDefaultPrevented()){return;}
effects[conf.effect][1].call(self,function(){e.type="onHide";$self.trigger(e);});}
if(conf.delay&&e){tip.data("timer",setTimeout(hide,conf.delay));}else{hide();}
return self;},isShown:function(){return tip.is(":not(:hidden), :animated");},getConf:function(){return conf;},getTip:function(){return tip;},getTrigger:function(){return trigger;},bind:function(name,fn){$self.bind(name,fn);return self;},onHide:function(fn){return this.bind("onHide",fn);},onBeforeShow:function(fn){return this.bind("onBeforeShow",fn);},onShow:function(fn){return this.bind("onShow",fn);},onBeforeHide:function(fn){return this.bind("onBeforeHide",fn);},unbind:function(name){$self.unbind(name);return self;}});$.each(conf,function(name,fn){if($.isFunction(fn)){self.bind(name,fn);}});}
$.prototype.tooltip=function(conf){var api=this.eq(typeof conf=='number'?conf:0).data("tooltip");if(api){return api;}
var globals=$.extend(true,{},$.tools.tooltip.conf);if($.isFunction(conf)){conf={onBeforeShow:conf};}else if(typeof conf=='string'){conf={tip:conf};}
conf=$.extend(true,globals,conf);if(typeof conf.position=='string'){conf.position=conf.position.split(/,?\s/);}
if(conf.lazy!==false&&(conf.lazy===true||this.length>20)){this.one("mouseover",function(e){api=new Tooltip($(this),conf);api.show(e);instances.push(api);});}else{this.each(function(){api=new Tooltip($(this),conf);instances.push(api);});}
return conf.api?api:this;};})(jQuery);
;(function($LITH){LITHIUM.Tooltip=function(triggerSelector,tooltipElementSelector,tooltipContentSelector,bodySelector,position){var tooltip=$LITH(tooltipElementSelector);tooltip.hide();tooltip.appendTo(bodySelector);var trigger=$LITH(triggerSelector);trigger.tooltip({predelay:750,position:position,relative:false,tip:tooltipElementSelector,events:{def:"focus mouseover,blur mouseout"},onBeforeShow:function(event,position){originalWidth=tooltip.width();tooltip.width(originalWidth);if(position.left<0){tooltip.width(trigger.offset().left);}},onHide:function(event){tooltip.width(originalWidth);}});if(trigger.get(0).nodeName.toLowerCase()==="a"){trigger.click(function(event){return false;});}}})(LITHIUM.jQuery);
;(function($LITH){if(LITHIUM.InputEditForm===undefined){LITHIUM.InputEditForm=function(formId,options){var form=$LITH("#"+formId);if(options.swallowEnterEvent){form.find(":input:not(:hidden,submit,textarea)").keypress(function(event){return event.which!=13});}
var formOptions=LITHIUM.jQuery.extend({useUnsavedDataWarning:false,unloadMessage:"",warnUnsavedDataActionCssClasses:[],ignoreDisableFormDuringSubmitCssClasses:[],ignoreOnChangeCssClasses:[],submitOnChange:false},options||{});if(formOptions.submitOnChange==true){form.find(":input").each(function(){var ignoreOnChange=false;var input=$LITH(this);$LITH.each(formOptions.ignoreOnChangeCssClasses,function(){if(input.hasClass(this)||input.closest("."+this).size()>0){ignoreOnChange=true;return false;}});var inputType=input.attr("type");if(inputType=="checkbox"){input.click(function(){form.data("lastUpdated",this);if(!ignoreOnChange){form.submit();}});}else if(inputType=="radio"){input.data("alreadyChecked",false);input.mousedown(function(){input.data("alreadyChecked",$LITH(this).filter(":checked").size()>0);});input.click(function(){if(input.data("alreadyChecked")===false){form.data("lastUpdated",this);if(!ignoreOnChange){form.submit();}}});}else if(inputType=="text"){input.change(function(){form.data("lastUpdated",this);if(!ignoreOnChange){form.submit();}});}else{input.change(function(){if(!ignoreOnChange){form.submit();}});}})}
var disableFormDuringSubmit=true;var baseButtonCssSelector="."+LITHIUM.Css.BASE_BUTTON;var baseTabLiCssSelector="."+LITHIUM.Css.BASE_TABS_STANDARD+" li";var formActionButtons=form.find(baseButtonCssSelector,baseTabLiCssSelector);form.submit(function(event){if(disableFormDuringSubmit==true){$LITH.each(formOptions.ignoreDisableFormDuringSubmitCssClasses,function(){if($LITH(event.target).hasClass(this)){disableFormDuringSubmit=false;}});}
if(disableFormDuringSubmit==true){disableFormActionButtons(formActionButtons,form);}});form.bind(formOptions.enableFormEvent,function(event){if(disableFormDuringSubmit==true){reenableFormActionButtons(formActionButtons,form);}});form.bind(options.disableFormEvent,function(event){if(event.memo.form===formId&&disableFormDuringSubmit){disableFormActionButtons(formActionButtons,form);}});formActionButtons.click(function(event){var clickElement=$LITH(this);$LITH.each(formOptions.ignoreDisableFormDuringSubmitCssClasses,function(){if(clickElement.hasClass(this)){disableFormDuringSubmit=false;return false;}});});if(formOptions.useUnsavedDataWarning===true){LITHIUM.FormWatch(form,formOptions.unloadMessage,formActionButtons,formOptions.warnUnsavedDataActionCssClasses);}
var disableFormActionButtons=function(formActionButtons,form){$LITH(form).addClass(LITHIUM.Css.BASE_FORM_SUBMITTING);$LITH(formActionButtons).each(function(){var overlay=$LITH("<div/>").addClass(LITHIUM.Css.BASE_BUTTON_OVERLAY);var button=$LITH(this);button.addClass(LITHIUM.Css.BASE_DISABLED).after(overlay);var positionAnchor=this;if(button.hasClass(LITHIUM.Css.BASE_BUTTON)){positionAnchor=button.closest(options.buttonWrapperSelector).get(0);}
overlay.clonePosition(positionAnchor);});};var reenableFormActionButtons=function(formActionButtons,form){$LITH(formActionButtons).each(function(){var overlay=$LITH(this).siblings("div."+LITHIUM.Css.BASE_BUTTON_OVERLAY);if(overlay&&!overlay.attr("disabled")){overlay.remove();$LITH(this).removeClass(LITHIUM.Css.BASE_DISABLED);}});$LITH(form).removeClass(LITHIUM.Css.BASE_FORM_SUBMITTING);};};LITHIUM.FormWatch=function(form,message,formActionButtons,warnUnsavedDataActionCssClasses){form.data("IGNORE_UNSAVED_DATA_WARNING",false);form.data("FORCE_UNSAVED_DATA_WARNING",false);var formActionIgnoresWarnUnsaved=false;var showUnsavedDataWarning=false;var saveFieldUnloadCallbacks=[];var clickElement;formActionButtons.click(function(event){clickElement=this;});form.submit(function(event){formActionIgnoresWarnUnsaved=true;$LITH.each(warnUnsavedDataActionCssClasses,function(){if($LITH(clickElement).hasClass(this)){formActionIgnoresWarnUnsaved=false;}});});form.find(":input").change(function(event){showUnsavedDataWarning=true;});window.onbeforeunload=function(event){form.dequeue("fieldWatcher");if(formActionIgnoresWarnUnsaved==false&&form.data("IGNORE_UNSAVED_DATA_WARNING")!==true&&(showUnsavedDataWarning==true||form.data("FORCE_UNSAVED_DATA_WARNING"))){form.removeClass(LITHIUM.Css.BASE_FORM_SUBMITTING);formActionButtons.each(function(){if(!$LITH(this).attr("disabled")){$LITH(this).removeClass(LITHIUM.Css.BASE_DISABLED);}});form.find("."+LITHIUM.Css.BASE_BUTTON_OVERLAY).remove();return message;}};};LITHIUM.InputEditForm.fieldsetToggle=function(formSelector,triggerSelector,fieldGroupSelector,triggerValue,triggerEvent){var form=$LITH(formSelector);var triggerElements=$LITH(triggerSelector);var fieldsetElement=$LITH(fieldGroupSelector);triggerElements.bind(triggerEvent,function(event){var element=$LITH(this);var inputType=element.attr("type");if(inputType=="checkbox"||inputType=="radio"){if(element.filter(":checked").val()==triggerValue){fieldsetElement.find(":input").attr("disabled",null);fieldsetElement.show();}else{fieldsetElement.hide();fieldsetElement.find(":input").attr("disabled",true);}}else{if(element.val()==triggerValue){fieldsetElement.find(":input").attr("disabled",null);fieldsetElement.show();}else{fieldsetElement.hide();fieldsetElement.find(":input").attr("disabled",true);}}});triggerElements.each(function(){var element=$LITH(this);var inputType=element.attr("type");if(inputType=="checkbox"||inputType=="radio"){if(element.filter(":checked").val()==triggerValue){fieldsetElement.find(":input").attr("disabled",null);fieldsetElement.safeShow();return false;}else{fieldsetElement.find(":input").attr("disabled",true);}}else{if(element.val()==triggerValue){fieldsetElement.find(":input").attr("disabled",null);fieldsetElement.safeShow();}else{fieldsetElement.find(":input").attr("disabled",true);}}});};}})(LITHIUM.jQuery);
