
if(jQuery.isLithium!==true){jQuery=LITHIUM.jQuery;}
;(function($LITH){LITHIUM.AjaxFeedback=function(feedbackSelector,hideFeedbackEvent){$LITH(document).bind(hideFeedbackEvent,function(){$LITH(feedbackSelector).hide();});}})(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);var tooltipContent=$LITH(tooltipContentSelector);tooltip.hide();tooltip.appendTo(bodySelector);var trigger=$LITH(triggerSelector);var originalWidth=null;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){var adjustedWidth=trigger.offset().left;tooltip.width(adjustedWidth);tooltipContent.width(adjustedWidth);}},onHide:function(event){tooltip.width(originalWidth);tooltipContent.width(originalWidth);}});if(trigger.get(0).nodeName.toLowerCase()==="a"){trigger.click(function(event){return false;});}}})(LITHIUM.jQuery);
;(function($LITH){LITHIUM.Entry=function(inputElementSelector,validationHelpElementSelector){$LITH(inputElementSelector).each(function(){var entryElement=$LITH(this);var entryChanged=false;entryElement.find(":input").focus(function(){if(LITHIUM.Form.FIELD_FOCUSED_BY_RULE===true){LITHIUM.Form.FIELD_FOCUSED_BY_RULE=false;}else{entryElement.find(validationHelpElementSelector).show();entryElement.find("."+LITHIUM.Css.BASE_FORM_ERROR_TEXT).hide();}}).click(function(){entryElement.find(validationHelpElementSelector).show();entryElement.find("."+LITHIUM.Css.BASE_FORM_ERROR_TEXT).hide();}).blur(function(){entryElement.find(validationHelpElementSelector).hide();if(entryChanged===false){entryElement.find("."+LITHIUM.Css.BASE_FORM_ERROR_TEXT).show();}}).change(function(){entryChanged=true;})})}})(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){$LITH(":input",form).live("click change",function(event){var ignoreOnChange=false;var input=$LITH(event.target);$LITH.each(formOptions.ignoreOnChangeCssClasses,function(){if(input.hasClass(this)||input.closest("."+this).size()>0){ignoreOnChange=true;return false;}});if(ignoreOnChange===false){var inputType=input.attr("type");if((event.type=="click"&&inputType=="checkbox")||(event.type=="change"&&inputType!="checkbox")){form.data("lastUpdated",input);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(formOptions.hasOwnProperty("blockUI")){$LITH.blockUI({message:formOptions.blockUI,css:{border:'none',padding:'15px',backgroundColor:'#000','-webkit-border-radius':'10px','-moz-border-radius':'10px',opacity:.5,color:'#fff'}});}
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);}
if(formOptions.hasOwnProperty("blockUI")){jQuery.unblockUI();}});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,formOptions.buttonWrapperSelector);}
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).addClass(LITHIUM.Css.BASE_DISABLED).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(this).closest(options.buttonWrapperSelector).removeClass(LITHIUM.Css.BASE_DISABLED);}});$LITH(form).removeClass(LITHIUM.Css.BASE_FORM_SUBMITTING);};};LITHIUM.FormWatch=function(form,message,formActionButtons,warnUnsavedDataActionCssClasses,buttonWrapperSelector){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;}});});var formInputs=form.find(":input");formInputs.change(function(event){showUnsavedDataWarning=true;});if($LITH.browser.msie){formInputs.focusout();}
$LITH(window).bind("beforeunload",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);$LITH(this).closest(buttonWrapperSelector).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);
