function doTextovers(){$$('.textover').each(function(e,i){if(e.hasClass('sideover')){e.getElement('.moreinfo').setStyle('top',e.getCoordinates().top)}else{e.getElement('.moreinfo').setStyle('width',e.getSize().size.x-e.getElement('.moreinfo').getStyle('margin-right').toInt()).setStyle('margin-right',0).setStyle('top',e.getCoordinates().bottom).setStyle('left',e.getCoordinates().left)}e.adopt(new Element('div',{'styles':{'background-color':'#000000','opacity':0.1,'position':'absolute','width':3,'display':'none'},'class':'shadow1'}));e.adopt(new Element('div',{'styles':{'background-color':'#000000','opacity':0.1,'position':'absolute','height':3,'display':'none'},'class':'shadow2'}));e.addEvent('mouseenter',function(){e.addClass('textoverOn');var ie=window.navigator.appVersion.indexOf('MSIE')>0;var ie6=window.navigator.appVersion.indexOf('MSIE 6')>0;if(e.hasClass('sideover')){e.getElement('.moreinfo').setStyle('border-right','none').setStyle('top',e.getCoordinates().top+1).setStyle('left',e.getLeft()-e.getElement('.moreinfo').getSize().size.x+2).setStyle('height',e.getSize().size.y-2);if(!ie6){e.getElement('.shadow1').setStyle('height',e.getSize().size.y).setStyle('display','block').setStyle('top',e.getCoordinates().top+4).setStyle('left',e.getCoordinates().right+1);e.getElement('.shadow2').setStyle('top',e.getCoordinates().bottom+1).setStyle('display','block').setStyle('left',Math.min(e.getLeft(),e.getElement('.moreinfo').getLeft())+3).setStyle('width',e.getSize().size.x+e.getElement('.moreinfo').getSize().size.x-4)}}else{e.getElement('.moreinfo').setStyle('width',e.getSize().size.x-1).setStyle('top',e.getCoordinates().bottom).setStyle('left',e.getCoordinates().left+(ie?2:0));if(!ie6){e.getElement('.shadow1').setStyle('height',e.getElement('.moreinfo').getSize().size.y+e.getSize().size.y).setStyle('display','block').setStyle('top',e.getCoordinates().top+3).setStyle('left',e.getCoordinates().right+(ie?2:0));e.getElement('.shadow2').setStyle('top',e.getElement('.moreinfo').getCoordinates().bottom).setStyle('display','block').setStyle('left',e.getCoordinates().left+3+(ie?2:0)).setStyle('width',e.getSize().size.x-3)}}});e.addEvent('mouseleave',function(){e.removeClass('textoverOn');e.getElement('.shadow1').setStyle('display','none');e.getElement('.shadow2').setStyle('display','none')})})}window.addEvent('domready',function(){doTextovers()});
var Autocompleter={};Autocompleter.Base=new Class({options:{minLength:1,useSelection:true,markQuery:true,inheritWidth:true,maxChoices:10,injectChoice:null,onSelect:Class.empty,onShow:Class.empty,onHide:Class.empty,customTarget:null,className:"autocompleter-choices",zIndex:42,observerOptions:{},fxOptions:{},overflown:[]},initialize:function(B,A){this.setOptions(A);this.element=$(B);this.build();this.observer=new Observer(this.element,this.prefetch.bind(this),$merge({delay:400},this.options.observerOptions));this.value=this.observer.value;this.queryValue=null},build:function(){if($(this.options.customTarget)){this.choices=this.options.customTarget}else{this.choices=new Element("ul",{"class":this.options.className,styles:{zIndex:this.options.zIndex}}).injectInside(document.body);this.fix=new OverlayFix(this.choices)}this.fx=this.choices.effect("opacity",$merge({wait:false,duration:200},this.options.fxOptions)).addEvent("onStart",function(){if(this.fx.now){return }this.choices.setStyle("display","");this.fix.show()}.bind(this)).addEvent("onComplete",function(){if(this.fx.now){return }this.choices.setStyle("display","none");this.fix.hide()}.bind(this)).set(0);this.element.setProperty("autocomplete","off").addEvent(window.ie?"keydown":"keypress",this.onCommand.bindWithEvent(this)).addEvent("mousedown",this.onCommand.bindWithEvent(this,[true])).addEvent("focus",this.toggleFocus.bind(this,[false])).addEvent("blur",this.toggleFocus.bind(this,[false])).addEvent("trash",this.destroy.bind(this))},destroy:function(){this.choices.remove()},toggleFocus:function(A){this.focussed=A;if(!A){this.hideChoices()}},onCommand:function(B,A){if(A&&this.focussed){this.prefetch()}if(B.key&&!B.shift){switch(B.key){case"enter":if(this.selected&&this.visible){B.stop()}case"tab":if(this.selected&&this.visible){this.choiceSelect(this.selected)}return ;case"up":case"down":if(this.observer.value!=(this.value||this.queryValue)){this.prefetch()}else{if(this.queryValue===null){break}else{if(!this.visible){this.showChoices()}else{this.choiceOver((B.key=="up")?this.selected.getPrevious()||this.choices.getLast():this.selected.getNext()||this.choices.getFirst());this.setSelection()}}}B.stop();return ;case"esc":this.hideChoices();return }}this.value=false},setSelection:function(){if(!this.options.useSelection){return }var C=this.queryValue.length;if(this.element.value.indexOf(this.queryValue)!=0){return }var B=this.selected.inputValue.substr(C);if(document.getSelection){this.element.value=this.queryValue+B;this.element.selectionStart=C;this.element.selectionEnd=this.element.value.length}else{if(document.selection){var A=document.selection.createRange();A.text=B;A.move("character",-B.length);A.findText(B);A.select()}}this.value=this.observer.value=this.element.value},hideChoices:function(){if(!this.visible){return }this.visible=this.value=false;this.observer.clear();this.fx.start(0);this.fireEvent("onHide",[this.element,this.choices])},showChoices:function(){if(this.visible||!this.choices.getFirst()){return }this.visible=true;var A=this.element.getCoordinates(this.options.overflown);this.choices.setStyles({left:A.left,top:A.bottom});if(this.options.inheritWidth){this.choices.setStyle("width",A.width)}this.fx.start(1);this.choiceOver(this.choices.getFirst());this.fireEvent("onShow",[this.element,this.choices])},prefetch:function(){if(this.element.value.length<this.options.minLength){this.hideChoices()}else{if(this.element.value==this.queryValue){this.showChoices()}else{this.query()}}},updateChoices:function(A){this.choices.empty();this.selected=null;if(!A||!A.length){return }if(this.options.maxChoices<A.length){A.length=this.options.maxChoices}A.each(this.options.injectChoice||function(B,C){var D=new Element("li").setHTML(this.markQueryValue(B));D.inputValue=B;this.addChoiceEvents(D).injectInside(this.choices)},this);this.showChoices()},choiceOver:function(A){if(this.selected){this.selected.removeClass("autocompleter-selected")}this.selected=A.addClass("autocompleter-selected")},choiceSelect:function(A){this.observer.value=this.element.value=A.inputValue;this.hideChoices();this.fireEvent("onSelect",[this.element,A],20)},markQueryValue:function(A){return(this.options.markQuery&&this.queryValue)?A.replace(new RegExp("^("+this.queryValue.escapeRegExp()+")","i"),'<span class="autocompleter-queried">$1</span>'):A},addChoiceEvents:function(A){return A.addEvents({mouseover:this.choiceOver.bind(this,[A]),mousedown:this.choiceSelect.bind(this,[A])})}});Autocompleter.Base.implement(new Events);Autocompleter.Base.implement(new Options);Autocompleter.Local=Autocompleter.Base.extend({options:{minLength:0,filterTokens:null},initialize:function(B,C,A){this.parent(B,A);this.tokens=C;if(this.options.filterTokens){this.filterTokens=this.options.filterTokens.bind(this)}},query:function(){this.hideChoices();this.queryValue=this.element.value;this.updateChoices(this.filterTokens())},filterTokens:function(A){var B=new RegExp("^"+this.queryValue.escapeRegExp(),"i");return this.tokens.filter(function(C){return B.test(C)})}});Autocompleter.Ajax={};Autocompleter.Ajax.Base=Autocompleter.Base.extend({options:{postVar:"value",postData:{},ajaxOptions:{},onRequest:Class.empty,onComplete:Class.empty},initialize:function(C,B,A){this.parent(C,A);this.ajax=new Ajax(B,$merge({autoCancel:true},this.options.ajaxOptions));this.ajax.addEvent("onComplete",this.queryResponse.bind(this));this.ajax.addEvent("onFailure",this.queryResponse.bind(this,[false]))},query:function(){var A=$extend({},this.options.postData);A[this.options.postVar]=this.element.value;this.fireEvent("onRequest",[this.element,this.ajax]);this.ajax.request(A)},queryResponse:function(A){this.value=this.queryValue=this.element.value;this.selected=false;this.hideChoices();this.fireEvent(A?"onComplete":"onFailure",[this.element,this.ajax],20)}});Autocompleter.Ajax.Json=Autocompleter.Ajax.Base.extend({queryResponse:function(A){this.parent(A);var B=Json.evaluate(A||false);if(!B||!B.length){return }this.updateChoices(B)}});Autocompleter.Ajax.Xhtml=Autocompleter.Ajax.Base.extend({options:{parseChoices:null},queryResponse:function(A){this.parent(A);if(!A){return }this.choices.setHTML(A).getChildren().each(this.options.parseChoices||this.parseChoices,this);this.showChoices()},parseChoices:function(A){var B=A.innerHTML;A.inputValue=B;A.setHTML(this.markQueryValue(B))}});var OverlayFix=new Class({initialize:function(A){this.element=$(A);if(window.ie){this.element.addEvent("trash",this.destroy.bind(this));this.fix=new Element("iframe",{properties:{frameborder:"0",scrolling:"no",src:"javascript:false;"},styles:{position:"absolute",border:"none",display:"none",filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}}).injectAfter(this.element)}},show:function(){if(this.fix){this.fix.setStyles($extend(this.element.getCoordinates(),{display:"",zIndex:(this.element.getStyle("zIndex")||1)-1}))}return this},hide:function(){if(this.fix){this.fix.setStyle("display","none")}return this},destroy:function(){this.fix.remove()}});
window.addEvent('domready',function(){$$('table.datagrid','table.sheet').each(function(table,i){if(table.getElement('input[name=select_all]'))table.getElement('input[name=select_all]').addEvent('change',function(){table.getElements('td input[type=checkbox]').setProperty('checked',table.getElement('input[name=select_all]').checked).fireEvent('change')});table.getElements('.selectall').addEvent('change',function(){var chkd=this.checked;table.getElements('td input[name='+this.getProperty('name')+']').setProperty('checked',chkd).fireEvent('change')});table.getElements('td input[type=checkbox]').addEvent('change',function(){if(!this.hasClass('ignorehighlight')){if(this.getValue())this.getParent().getParent().addClass('selected');else{this.getParent().getParent().removeClass('selected');if(table.getElement('input[name=select_all]'))table.getElement('input[name=select_all]').checked=false}}});table.getElements('.infotoggle').each(function(e,i){var mo=table.getElement('#moreinfo_'+e.rel);if(mo){mo.style.display='none';e.moreinfo=mo;mo.getElement('a').addEvent('click',function(cbtn){this.getParent().getParent().getParent().setStyle('display','none')});e.addEvent('click',function(){if(e.moreinfo.style.display=='none')e.moreinfo.style.display='';else e.moreinfo.style.display='none';return false})}})})});
var MooScroller=new Class({options:{mode:'vertical',width:0,scrollSteps:10,wheel:true,scrollLinks:{forward:'scrollForward',back:'scrollBack'},onScroll:Class.empty},initialize:function(container,scrollBar,options){this.setOptions(options);this.horz=(this.options.mode=="horizontal");var currentPos=$(container).getStyle('position');this.container=$(container).setStyles({overflow:'hidden',position:(currentPos=='static')?'relative':currentPos});this.content=(this.container.getFirst().hasClass('ScrollerWrapper'))?this.container.getFirst():new Element('div').injectInside(this.container);this.content.addClass('ScrollerWrapper').setStyles({overflow:'visible',position:'relative'});this.container.getChildren().each(function(el){if(el==this.content)return;this.content.adopt(el)},this);this.scrollBar=$(scrollBar);this.sizeScrollBar();this.makeSlider();this.setupWheel();var clearScroll=function(){$clear(this.scrolling)}.bind(this);['forward','back'].each(function(direction){var lnk=$(this.options.scrollLinks[direction]);if(lnk){lnk.addEvents({mousedown:function(){this.scrolling=this[direction].periodical(50,this)}.bind(this),mouseup:clearScroll.bind(this),click:clearScroll.bind(this)})}},this);this.scrollBar.addEvent('click',clearScroll.bind(this));window.addEvent('domready',function(){try{$(document.body).addEvent('mouseup',clearScroll.bind(this))}catch(e){}}.bind(this));var side=(this.horz?"offsetWidth":"offsetHeight");var size=this.content[side];},sizeScrollBar:function(){if(!this.isOverFlown())return this.scrollBar.hide();else this.scrollBar.show();var plain=(this.horz)?"width":"height";if(this.horz){this.scrollBar.setStyle("width",(this.scrollBar.getParent().getCoordinates().width/(this.options.width/this.container.getCoordinates().width)).toInt()+'px')}else{this.scrollBar.setStyle("height",(this.scrollBar.getParent().getCoordinates().height/(this.content.getCoordinates().height/this.container.getCoordinates().height)).toInt()+'px')}return this.scrollBar},scroll:function(direction,steps){steps=steps||this.options.scrollSteps;this.slider.set(this.slider.step+((direction=="forward")?+steps:-steps))},forward:function(steps){this.scroll("forward",steps)},back:function(steps){this.scroll("back",steps)},page:function(forward){this.fireEvent('onPage',forward);this.scroll(($pick(forward,true))?"forward":"back",(this.horz)?this.options.width:this.container.offsetHeight)},setupWheel:function(){if(this.options.wheel){var handleScroll=function(e){e=new Event(e);if(e.wheel<0)this.forward();else if(e.wheel>0)this.back();e.stop()};if(this.content.getCoordinates().height>this.container.getCoordinates().height){this.container.addEvent('mousewheel',handleScroll.bind(this));this.scrollBar.getParent().addEvent('mousewheel',handleScroll.bind(this))}}},isOverFlown:function(){var plain=(this.horz)?"width":"height";return(this.horz)?this.options.width>this.container.getCoordinates().width:this.content.getCoordinates().height>this.container.getCoordinates().height},makeSlider:function(){var sldr=Slider.extend({options:{offset:0},clickedElement:function(event){var position=event.page[this.z]-this.getPos()-this.half;position=position.limit(-this.options.offset,this.max-this.options.offset);this.fireEvent('onPage',[this.toStep(position),this.step])},initialize:function(el,knob,options){this.parent(el,knob,options);if(Drag.Simple){this.drag.stop();this.drag.detach();var mod,offset;switch(this.options.mode){case'horizontal':this.z='x';this.p='left';mod={'x':'left','y':false};offset='offsetWidth';break;case'vertical':this.z='y';this.p='top';mod={'x':false,'y':'top'};offset='offsetHeight'}var lim={};lim[this.z]=[-this.options.offset,this.max-this.options.offset];this.drag=new Drag.Simple(this.knob,{limit:lim,modifiers:mod,snap:0,onStart:function(){this.draggedKnob()}.bind(this),onDrag:function(){this.draggedKnob()}.bind(this),onComplete:function(){this.draggedKnob();this.end()}.bind(this)})}}});var plain=(this.horz)?"width":"height";this.slider=new sldr(this.scrollBar.getParent(),this.scrollBar,{steps:(this.horz)?this.options.width-this.container['offset'+plain.capitalize()]:this.content['offset'+plain.capitalize()]-this.container['offset'+plain.capitalize()],mode:this.options.mode,onChange:function(step){this.content.setStyle((this.horz)?'left':'top',((this.isOverFlown())?step-(step*2):0)+'px');this.fireEvent('onScroll',step)}.bind(this),onPage:function(position,step){this.page(position>(step||0))}.bind(this)});if(this.isOverFlown())this.slider.set(0)},update:function(){this.sizeScrollBar();var s=this.slider;var axis=(this.horz)?'Width':'Height';s.options.steps=(this.horz)?this.options.width-this.container['offset'+axis]:this.content['offset'+axis]-this.container['offset'+axis];s.max=s.element['offset'+axis]-s.knob['offset'+axis];s.half=s.knob['offset'+axis]/2;s.getPos=s.element['get'+((axis=="Width")?'Left':'Top')].bind(s.element);s.drag.options.limit[(axis=="Width")?'x':'y']=[0,s.max];this.slider.set(this.slider.step||0)},getslider:function(){return this.slider}});MooScroller.implement(new Options);MooScroller.implement(new Events);
