// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.Calendar=Class.create();Object.extend(Gaia.Extensions.Calendar.prototype,Gaia.Control.prototype);Object.extend(Gaia.Extensions.Calendar.prototype,{initialize:function(element,options){this.initializeCalendar(element,options);},initializeCalendar:function(element,options){this.initializeControl(element,options);this.options.className=options.className;this._addDayEvents();this._addMonthYearNavigationEvents();},_previousYearClick:function(btn){for(var i=2;i<13;i++){if(i!=7){var yearButton=$(this.element.id+'_year_'+i);var oldValue=parseInt(yearButton.innerHTML);yearButton.innerHTML=oldValue-4;}}},_nextYearClick:function(btn){for(var i=2;i<13;i++){if(i!=7){var yearButton=$(this.element.id+'_year_'+i);var oldValue=parseInt(yearButton.innerHTML);yearButton.innerHTML=oldValue+4;}}},onMonthClick:function(btn){var splits=btn.id.split('_month_');var id=splits[splits.length-1];Gaia.Control.callControlMethod.bind(this)('MonthClicked',[id],function(retVal){if(retVal=='false'){for(var i=1;i<13;i++){this._setStyle('_month_td_'+i,'-calendar-ympicker-selected',false);}
this._setStyle('_month_td_'+id,'-calendar-ympicker-selected',true);}}.bind(this),this.element.id);},onDayClick:function(btn){var splits=btn.id.split('_');var id=splits[splits.length-1];Gaia.Control.callControlMethod.bind(this)('DayClicked',[id],function(retVal){if(retVal=='false'){for(var i=0;i<42;i++){this._setStyle('_td_'+i,'-calendar-selected',false);}
this._setStyle('_td_'+id,'-calendar-selected',true);}}.bind(this),this.element.id);},onYearClick:function(btn){var splits=btn.id.split('_year_');var id=splits[splits.length-1];var yearValue=btn.innerHTML;Gaia.Control.callControlMethod.bind(this)('YearClicked',[yearValue],function(retVal){if(retVal=='false'){for(var i=0;i<13;++i){this._setStyle('_year_td_'+i,'-calendar-ympicker-selected',false);}
this._setStyle('_year_td_'+id,'-calendar-ympicker-selected',true);}}.bind(this),this.element.id);},setInnerContent:function(value){this._removeDayEvents();var innerCell=$(this.element.id+"_date-inner");innerCell.innerHTML=value;this._addDayEvents();return this;},_addDayEvents:function(){this.arrayOfDayClickEvents=new Array();for(var i=0;i<42;i++){var dayButton=$(this.element.id+'_'+i);this.arrayOfDayClickEvents[i]=this.onDayClick.bind(this,dayButton);Element.observe(dayButton,'click',this.arrayOfDayClickEvents[i]);}},_removeDayEvents:function(){for(var i=0;i<42;i++){if(this.arrayOfDayClickEvents[i]){var dayButton=$(this.element.id+'_'+i);Element.stopObserving(dayButton,'click',this.arrayOfDayClickEvents[i]);}}},_addMonthYearNavigationEvents:function(){this.arrayOfMonthObservers=new Array();for(var i=1;i<13;i++){var monthButton=$(this.element.id+'_month_'+i);this.arrayOfMonthObservers[i]=this.onMonthClick.bind(this,monthButton);Element.observe(monthButton,'click',this.arrayOfMonthObservers[i]);}
this.arrayOfYearObservers=new Array();for(var i=2;i<13;i++){if(i!=7){var yearButton=$(this.element.id+'_year_'+i);this.arrayOfYearObservers[i]=this.onYearClick.bind(this,yearButton);Element.observe(yearButton,'click',this.arrayOfYearObservers[i]);}}
var prevYear=$(this.element.id+'_year_prev');this.onPreviousYearClick=this._previousYearClick.bind(this,prevYear);Element.observe(prevYear,'click',this.onPreviousYearClick);var nextYear=$(this.element.id+'_year_next');this.onNextYearClick=this._nextYearClick.bind(this,nextYear);Element.observe(nextYear,'click',this.onNextYearClick);},_removeMonthYearNavigationEvents:function(){for(var i=1;i<13;i++){if(this.arrayOfMonthObservers[i]){var monthButton=$(this.element.id+'_month_'+i);Element.stopObserving(monthButton,'click',this.arrayOfMonthObservers[i]);}}
for(var i=2;i<13;i++){if(i!=7){if(this.arrayOfYearObservers[i]){var yearButton=$(this.element.id+'_year_'+i);Element.stopObserving(yearButton,'click',this.arrayOfYearObservers[i]);}}}
if(this.onPreviousYearClick){var prevYear=$(this.element.id+'_year_prev');Element.stopObserving(prevYear,'click',this.onPreviousYearClick);}
if(this.onPreviousYearClick){var nextYear=$(this.element.id+'_year_next');Element.stopObserving(nextYear,'click',this.onNextYearClick);}},_setStyle:function(additionalId,additionalClassName,addClasses){if(this.element){var el=$(this.element.id+additionalId);if(el){if(addClasses){Element.addClassName(el,this.options.className+additionalClassName);}
else{Element.removeClassName(el,this.options.className+additionalClassName);}}}},destroy:function(){this._removeMonthYearNavigationEvents();this._removeDayEvents();this._destroyImpl();}});Gaia.Extensions.Calendar.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.ControlPicker=Class.create();Object.extend(Gaia.Extensions.ControlPicker.prototype,Gaia.Panel.prototype);Object.extend(Gaia.Extensions.ControlPicker.prototype,{initialize:function(element,options){this.initializeControlPicker(element,options);},initializeControlPicker:function(element,options){this.initializePanel(element,options);this.options.selectionMode=options.selectionMode;this.options.className=options.className;this.options.input=options.input;this.options.hoverSelection=options.hoverSelection;this.onKeypress=this.keyPress.bind(this);this.onKeyDown=this.keyDown.bind(this);this.initEventsAndState();},initEventsAndState:function(){this.items=this.getItems();this._addClickObservers();this.setHoverSelection(this.options.hoverSelection);},keyPress:function(event){switch(event.keyCode){case Event.KEY_RETURN:this.selectItem(this.getItem(this.markIndex));Event.stop(event);return;case Event.KEY_ESC:Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;}},keyDown:function(event){switch(event.keyCode){case Event.KEY_DOWN:this.markNextItem(1);Event.stop(event);return;case Event.KEY_UP:this.markPreviousItem(1);Event.stop(event);return;case Event.KEY_PAGEDOWN:this.markNextItem(5);Event.stop(event);return;case Event.KEY_PAGEUP:this.markPreviousItem(5);Event.stop(event);return;case Event.KEY_END:this.markNextItem(-1);Event.stop(event);return;case Event.KEY_HOME:this.markPreviousItem(-1);Event.stop(event);return;}},onClick:function(item){this.selectItem(item);},onMouseOver:function(item){this.markItem(item);},selectItem:function(item){var splits=item.id.split('_list-item_');var id=splits[splits.length-1];Gaia.Control.callControlMethod.bind(this)('ItemSelected',[id],function(retVal){if(retVal=='true'){this._renderClassesForSelectedItem(item);}}.bind(this),this.element.id);},setSelectionMode:function(value){this.options.selectionMode=value;return this;},setHoverSelection:function(value){if(value){this._addMouseObservers();this._observeKeyPressEvents(true);if(this.items.length>0){this.markIndex=-1;this.markItem(this.getItem(this.markIndex));}}else{this._removeMouseObservers();this._observeKeyPressEvents(false);this.markItem(null);}
this.options.hoverSelection=value;return this;},_observeKeyPressEvents:function(on){if(this.options.input){var input=$(this.options.input);if(on){input.setAttribute('autocomplete','off');Element.observe(input,'keypress',this.onKeypress);Element.observe(input,'keydown',this.onKeyDown);}else{Element.stopObserving(input,'keypress',this.onKeypress);Element.stopObserving(input,'keydown',this.onKeyDown);}}},getItems:function(){var items=$A();var idx=0;while(true){var item=$(this.element.id+'_list-item_'+idx);if(!item)
break;items[idx++]=item;}
return items;},getSelectedItemIndex:function(){for(var i=0,length=this.items.length;i<length;++i){if(this.getItem(i).hasClassName(this._getSelectedItemClass()))
return i;}},getItem:function(index){return this.items[index];},markNextItem:function(jump){if(jump==-1)
this.markIndex=this.items.length-1;else if(this.markIndex<this.items.length-1)
this.markIndex+=jump;else
this.markIndex=this.items.length-1;this.markIndex=Math.min(this.markIndex,this.items.length-1);this.markItem(this.getItem(this.markIndex));},markPreviousItem:function(jump){if(jump==-1)
this.markIndex=0;else if(this.markIndex>0)
this.markIndex-=jump;else
this.markIndex=0;this.markIndex=Math.max(this.markIndex,0);this.markItem(this.getItem(this.markIndex));},markItem:function(item){for(var i=0,length=this.items.length;i<length;++i){Element.removeClassName(this.items[i],this._getHoverItemClass());if(this.getItem(i)==item){this.getItem(i).scrollIntoView(false);this.markIndex=i;Element.addClassName(item,this._getHoverItemClass());}}},_renderClassesForSelectedItem:function(item){var selected=item.hasClassName(this._getSelectedItemClass());var selectMultiple=this.options.selectionMode=='Multiple';if(selectMultiple){if(selected)
Element.removeClassName(item,this._getSelectedItemClass());else
Element.addClassName(item,this._getSelectedItemClass());}else{if(!selected){this._setClassNameForItem(item,this._getSelectedItemClass());}}},_setClassNameForItem:function(item,className){for(var i=0,length=this.items.length;i<length;++i){Element.removeClassName(this.items[i],className);}
Element.addClassName(item,className);},_addClickObservers:function(){this.arrayOfClickDelegates=new Array();for(var i=0,length=this.items.length;i<length;++i){this.arrayOfClickDelegates[i]=this.onClick.bind(this,this.items[i]);Element.observe(this.items[i],'click',this.arrayOfClickDelegates[i]);}},_removeClickObservers:function(){for(var i=0,length=this.items.length;i<length;++i){if(this.arrayOfClickDelegates[i])
Element.stopObserving(this.items[i],'click',this.arrayOfClickDelegates[i]);}},_addMouseObservers:function(){return;this.arrayOfMouseOverDelegates=new Array();for(var i=0,length=this.items.length;i<length;++i){this.arrayOfMouseOverDelegates[i]=this.onMouseOver.bind(this,this.items[i]);Element.observe(this.items[i],'mouseover',this.arrayOfMouseOverDelegates[i]);}},_removeMouseObservers:function(){return;for(var i=0,length=this.items.length;i<length;++i){if(this.arrayOfMouseOverDelegates[i])
Element.stopObserving(this.items[i],'mouseover',this.arrayOfMouseOverDelegates[i]);}},_getSelectedItemClass:function(item){return this.options.className+'-controlpicker-selected';},_getHoverItemClass:function(item){return this.options.className+'-controlpicker-hover';},destroyContainer:function(){this._removeClickObservers();if(this.options.hoverSelection)
this._removeMouseObservers();this._observeKeyPressEvents(false);this._destroyChildControls();}});Gaia.Extensions.ControlPicker.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.ExtendedButton=Class.create();Object.extend(Gaia.Extensions.ExtendedButton.prototype,Gaia.Button.prototype);Object.extend(Gaia.Extensions.ExtendedButton.prototype,{initialize:function(element,options){this.initializeExtendedButton(element,options);},initializeExtendedButton:function(element,options){this.initializeButton(element,options);this.options.className=options.className;},click:function(){this._getButton().click();},setToggle:function(value){this._setStyle(this.element,this.options.className+'-button-checked',value);return this;},setText:function(value){this._getContentSpan().innerHTML=value;return this;},setEnabled:function(value){var div=$(this.element);var el=this._getButton();value?Form.Element.enable(div):Form.Element.disable(div);value?Form.Element.enable(el):Form.Element.disable(el);this._setStyle(div,this.options.className+'-button-disabled',!value);if(value&&el.hasAttribute("disabled"))
el.removeAttribute("disabled");return this;},setFocus:function(){try{this._getButton().focus();$(this.element.id).addClassName=this.options.className+'-button-focus';}catch(err){}
return this;},_setStyle:function(el,className,addClasses){addClasses?Element.addClassName(el,className):Element.removeClassName(el,className);},_getButton:function(){return $(this.element.id+'_btn');},_getContentSpan:function(){return $(this.element.id+'_content');},destroy:function(){this._destroyImpl();},_getElementPostValue:function(){return'';},_getElementPostValueEvent:function(){return'&'+this.getCallbackName()+'='+this._getContentSpan().innerHTML;}});Gaia.Extensions.ExtendedButton.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.InPlaceEdit=Class.create();Object.extend(Gaia.Extensions.InPlaceEdit.prototype,Gaia.Label.prototype);Object.extend(Gaia.Extensions.InPlaceEdit.prototype,{initialize:function(element,options){this.initializeInPlaceEdit(element,options);},initializeInPlaceEdit:function(element,options){options=Object.extend({highlightcolor:'#FFFF99',highlightendcolor:'#FFFFFF',enabled:true},options||{});this.initializeLabel(element,options);this.oldBackground=this.element.style.backgroundColor||'Transparent';this.onClick=this.click.bind(this);if(this.options.editMode=="SingleClick")
Element.observe(this.element,'click',this.onClick);else
Element.observe(this.element,'dblclick',this.onClick);this.onMouseOver=this.mouseOver.bind(this);Element.observe(this.element,'mouseover',this.onMouseOver);this.onMouseOut=this.mouseOut.bind(this);Element.observe(this.element,'mouseout',this.onMouseOut);if(this.element.innerHTML=='')
this.element.innerHTML='&nbsp;';},enterEditMode:function(){if(!this.options.enabled)
return;var txtOfLabel=this.element.innerHTML;if(txtOfLabel=='&nbsp;')
txtOfLabel='';else
txtOfLabel=this.getText();this.enterClicked=false;this._oldDisplayStyle=this.element.style.display;Element.hide(this.element);if(this.wrapper){Element.show(this.wrapper);if(!this.element.style.width&&this.options.singleLine)
Element.writeAttribute(this.txt,'size',this.element.innerHTML.length);this.txt.value=txtOfLabel;this.txt.select();this.txt.focus();}else{this.wrapper=Builder.node('span');if(this.options.singleLine){this.txt=Builder.node('input',{id:this.element.id+'_TXT',type:'text'});if(this.element.style.width)
this.txt.style.width=this.element.style.width;else
Element.writeAttribute(this.txt,'size',this.element.innerHTML.length);}else{this.txt=Builder.node('textarea',{id:this.element.id+'_TXT'});this.txt.style.width=this.element.style.width;this.txt.style.height=this.element.style.height;}
if(this.element.className)
this.txt.className=this.element.className;if(this.options.hasButtons){this.ok=Builder.node('input',{type:'button',id:this.element.id+'_OK',value:'OK'});this.cancel=Builder.node('input',{type:'button',id:this.element.id+'_CANCEL',value:'Cancel'});this.txt.value=txtOfLabel;this.wrapper.appendChild(this.txt);this.wrapper.appendChild(Builder.node('br'));this.wrapper.appendChild(this.ok);this.wrapper.appendChild(this.cancel);}else{this.txt.value=txtOfLabel;this.wrapper.appendChild(this.txt);}
this.element.insert({after:this.wrapper});setTimeout(function(){this.txt.select();this.txt.focus();}.bind(this),1);if(this.options.hasButtons){this.onOk=this.okClicked.bind(this);this.onCancel=this.cancelClicked.bind(this);Element.observe(this.ok,'click',this.onOk);Element.observe(this.cancel,'click',this.onCancel);}else{this.onBlur=this.okClicked.bind(this);Element.observe(this.txt,'blur',this.onBlur);}
this.onKey=this.keyPressed.bindAsEventListener(this);Element.observe(this.txt,'keydown',this.onKey);}},keyPressed:function(event){if(event.keyCode==Event.KEY_ESC){if(this.options.hasButtons){Event.stop(event);}else{this.cancelClicked();this.escClicked=true;}}
else if(this.options.singleLine&&event.keyCode==Event.KEY_RETURN){if(!this.options.hasButtons){this.okClicked();this.enterClicked=true;}
Event.stop(event);}},okClicked:function(){if(this.enterClicked)
return;if(this.escClicked){delete this.escClicked;return;}
Element.hide(this.wrapper);this.element.style.display=this._oldDisplayStyle;this.saving=true;var txtValueOfEditer=this.txt.value;if(txtValueOfEditer==''||txtValueOfEditer.replace(/^\s+/,'')=='')
txtValueOfEditer='&nbsp;';Gaia.Control.callControlMethod.bind(this)('PostUpdate',[txtValueOfEditer],function(retVal){this.highlightEffect();delete this.saving;}.bind(this),null);},setEnabled:function(value){this.options.enabled=value;return this;},cancelClicked:function(){Element.hide(this.wrapper);this.element.style.display=this._oldDisplayStyle;this.highlightEffect();},click:function(){this.enterEditMode();},setBlink:function(value){this.options.blink=value;return this;},setText:function(text){this.element.innerHTML=this.options.singleLine?text:decodeURIComponent(text).replace(/\r?\n/gi,'<br/>');return this;},getText:function(){var text=this.element.innerHTML;return this.options.singleLine?text:text.replace(/<br[^>]*>/ig,'\n');},mouseOver:function(){if(!this.options.enabled)
return;if(!this.options.blink)
return;if(this.saving)return;this.element.style.backgroundColor=this.options.highlightcolor;if(this.effect){this.effect.cancel();}},mouseOut:function(){if(!this.options.enabled)
return;if(!this.options.blink)
return;if(this.saving)return;this.highlightEffect();},highlightEffect:function(){this.effect=new Effect.Highlight(this.element,{startcolor:this.options.highlightcolor,endcolor:this.options.highlightendcolor,restorecolor:this.oldBackground});},destroy:function(){if(this.options.mouseClicksToTrigerEditMode=="SingleClick")
Element.stopObserving(this.element,'click',this.onClick);else
Element.stopObserving(this.element,'dblclick',this.onClick);Element.stopObserving(this.element,'mouseover',this.onMouseOver);Element.stopObserving(this.element,'mouseout',this.onMouseOut);if(this.onOk){Element.stopObserving(this.ok,'click',this.onOk);Element.stopObserving(this.cancel,'click',this.onCancel);}
if(this.onBlur){Element.stopObserving(this.txt,'blur',this.onBlur);}
if(this.wrapper)
this.wrapper.parentNode.removeChild(this.wrapper);this._destroyImpl();}});Gaia.Extensions.InPlaceEdit.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.TabControl=Class.create();Object.extend(Gaia.Extensions.TabControl.prototype,Gaia.Panel.prototype);Object.extend(Gaia.Extensions.TabControl.prototype,{initialize:function(element,options){this.initializeTabControl(element,options);},initializeTabControl:function(element,options){this.initializePanel(element,options);var idx=0;this.arrayOfTabClickEvents=new Array();while(true){var el=$(this.element.id+'_'+idx);if(!el)break;this.arrayOfTabClickEvents[idx]=this.onClick.bind(this,el);Element.observe(el,'click',this.arrayOfTabClickEvents[idx]);++idx;}},setContent:function(id,value){var el=$(id);if(el)el.innerHTML=value;return this;},setClassName:function(id,value){var el=$(id);if(el)el.className=value;return this;},onClick:function(btn){var splits=btn.id.split('_');var id=splits[splits.length-1];Gaia.Control.callControlMethod.bind(this)('TabViewHeaderClicked',[id],function(){},this.element.id);},destroy:function(){var idx=0;while(true){var el=$(this.element.id+'_'+idx);if(!el)break;if(this.arrayOfTabClickEvents[idx])
Element.stopObserving(el,'click',this.arrayOfTabClickEvents[idx]);++idx;}
this._panelDestroy();}});Gaia.Extensions.TabControl.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.ToolbarItem=Class.create();Object.extend(Gaia.Extensions.ToolbarItem.prototype,Gaia.Panel.prototype);Gaia.Extensions.ToolbarItem._items=$H({});Object.extend(Gaia.Extensions.ToolbarItem.prototype,{initialize:function(element,options){this.initializeToolbarItem(element,options);},initializeToolbarItem:function(element,options){this.initializePanel(element,options);Gaia.Extensions.ToolbarItem._items.set(this.element.id,this);var drop=this._getDropper();switch(this.options.dropMethod){case'Hover':if(drop){this.onMouseOver=this._mouseOver.bindAsEventListener(this);Element.observe(this.element,'mouseover',this.onMouseOver);this.onMouseOut=this._mouseOut.bindAsEventListener(this);Element.observe(this.element,'mouseout',this.onMouseOut);this.onDropperMouseOut=this._mouseOut.bindAsEventListener(this);Element.observe(drop,'mouseout',this.onDropperMouseOut);}
break;case'Click':this.onItemClicked=this._itemClicked.bindAsEventListener(this);Element.observe(this.element,'click',this.onItemClicked);if(drop){this.onBodyClicked=this._bodyClicked.bindAsEventListener(this);Element.observe(document.body,'click',this.onBodyClicked);}
break;}},_mouseOver:function(evt){this._showDropDown(true);},_mouseOut:function(evt){var drop=this._getDropper();if(drop){if(this._checkMouseLeave(this.element,evt)&&this._checkMouseLeave(drop,evt)){this.hideToolbar(evt);}}},_itemClicked:function(evt){var drop=this._getDropper();if(drop){if(drop.style.display=='none'){this._showDropDown(true);Event.stop(evt);}else{if(this.options.closeOnClick){this.hideChildren(drop);}}}else if(this.options.closeOnClick==false){Event.stop(evt);}},_showDropDown:function(shorter){var drop=this._getDropper();if(drop){if(drop.style.display!='none')
return;if(this.options.isTop){Position.clone(this.element,drop,{offsetTop:Element.getHeight(this.element),setWidth:false,setHeight:false});}else{Position.clone(this.element,drop,{offsetLeft:Element.getWidth(this.element.parentNode),setWidth:false,setHeight:false});}
this.showChildren(drop);Gaia.Extensions.ToolbarItem._items.each(function(idx){if(this.element.id.indexOf(idx.key)==-1)
idx.value.hideToolbar();}.bind(this));}},showChildren:function(drop){switch(this.options.animation){case'None':Element.show(drop);break;case'Fade':new Effect.Appear(drop,{duration:0.4});break;case'Blind':new Effect.BlindDown(drop,{duration:0.4,afterFinish:function(){drop.style.height='';}});break;}},hideChildren:function(drop){switch(this.options.animation){case'None':Element.hide(drop);break;case'Fade':new Effect.Fade(drop,{duration:0.4});break;case'Blind':var height=Element.getHeight(drop);new Effect.BlindUp(drop,{duration:0.4,afterFinish:function(){drop.style.height='';}});break;}},_bodyClicked:function(evt){this.hideToolbar();},hideToolbar:function(){var drop=this._getDropper();if(drop){if(drop.style.display!='none'){this.hideChildren(drop);}}},_getDropper:function(){return $(this.element.id+'_children');},setCloseOnClick:function(value){this.options.closeOnClick=value;return this;},setDropDownMethod:function(value){alert('not implemented');return this;},setAnimation:function(value){this.options.animation=value;return this;},setClose:function(){this.hideToolbar();return this;},destroy:function(){if(this.onItemClicked)
Element.stopObserving(this.element,'click',this.onItemClicked);if(this.onBodyClicked)
Element.stopObserving(document.body,'click',this.onBodyClicked);if(this.onMouseOver)
Element.stopObserving(this.element,'mouseover',this.onMouseOver);if(this.onMouseOut)
Element.stopObserving(this.element,'mouseout',this.onMouseOut);var drop=this._getDropper();if(this.onDropperMouseOut)
Element.stopObserving(drop,'mouseout',this.onDropperMouseOut);Gaia.Extensions.ToolbarItem._items.unset(this.element.id);this._panelDestroy();},_checkMouseLeave:function(el,evt){if(el.contains&&evt.toElement){var retVal=!el.contains(evt.toElement);return retVal;}
else if(evt.relatedTarget){return!this._containsDOM(el,evt.relatedTarget);}},_containsDOM:function(container,containee){var isParent=false;do{if(isParent=container==containee)
break;containee=containee.parentNode;}while(containee!=null);return isParent;}});Gaia.Extensions.ToolbarItem.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.TreeViewItem=Class.create();Object.extend(Gaia.Extensions.TreeViewItem.prototype,Gaia.Control.prototype);Object.extend(Gaia.Extensions.TreeViewItem.prototype,Gaia.Container.prototype);Object.extend(Gaia.Extensions.TreeViewItem.prototype,{initialize:function(element,options){this.initializeTreeViewItem(element,options);},initializeTreeViewItem:function(element,options){this.initializeControl(element,options);this.options=Object.extend({shouldAnimate:true},this.options||null);this._addEventListeners();},reInit:function(){this._reInit();this._addEventListeners();},getExpanderElement:function(){return $(this.element.id+'_expander');},getElementWrapper:function(){return $(this.element.id+'_container');},getChildrenElement:function(){return $(this.element.id+'_children');},appendHtml:function(html){var ctrl=this.getChildrenElement();if(!ctrl)ctrl=this.element;this._appendHtml(ctrl,html);return this;},_onElementClicked:function(evt){var el=evt.element();var wrapper=this.getElementWrapper();while(el){if(el.id&&el.id.indexOf('_container')!=-1){if(el==this.getElementWrapper()){Gaia.Control.callControlMethod.bind(this)('NodeSelectedMethod',[],null);break;}else{break;}}
el=el.parentNode;}},_expanderClicked:function(evt){var ch=this.getChildrenElement();if(this.options.fetchedChildren==false){Gaia.Control.callControlMethod.bind(this)('GetChildrenMethod',[],function(retVal){var ch=this.getChildrenElement();var ex=this.getExpanderElement();var cn=this.getElementWrapper();Element.removeClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-expanded');Element.addClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-collapsed');Element.removeClassName(cn,this.options.className+'-treeview-item-collapsed');Element.addClassName(cn,this.options.className+'-treeview-item-expanded');if(ch&&ch.style.display=='none'){if(this.options.shouldAnimate)
new Effect.BlindDown(ch,{duration:0.4});else
Element.show(ch);}
this.options.fetchedChildren=true;}.bind(this));}else{var ex=this.getExpanderElement();var cn=this.getElementWrapper();if(ch.style.display=='none'){Element.removeClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-expanded');Element.addClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-collapsed');Element.removeClassName(cn,this.options.className+'-treeview-item-collapsed');Element.addClassName(cn,this.options.className+'-treeview-item-expanded');if(this.options.shouldAnimate)
new Effect.BlindDown(ch,{duration:0.4});else
Element.show(ch);Gaia.Control.callControlMethod.bind(this)('ExpandMethod',[],null);}else{Element.removeClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-collapsed');Element.addClassName(ex,this.options.className+'-treeview-branch'+(this.options.isEnd?'-last':'')+'-expanded');Element.removeClassName(cn,this.options.className+'-treeview-item-expanded');Element.addClassName(cn,this.options.className+'-treeview-item-collapsed');if(this.options.shouldAnimate)
new Effect.BlindUp(ch,{duration:0.4});else
Element.hide(ch);Gaia.Control.callControlMethod.bind(this)('CollapseMethod',[],null);}}
Event.stop(evt);},appendHtml:function(value){this._appendHtml(this.getChildrenElement(),value);return this;},addClass:function(value){Element.addClassName(this.getElementWrapper(),value);return this;},removeClass:function(value){Element.removeClassName(this.getElementWrapper(),value);return this;},_addEventListeners:function(value){if(!this.options.isLeaf){var ex=this.getExpanderElement();this.onExpanderClicked=this._expanderClicked.bindAsEventListener(this);Element.observe(ex,'click',this.onExpanderClicked);}
this.onElementClicked=this._onElementClicked.bindAsEventListener(this);Element.observe(this.element,'click',this.onElementClicked);},_removeEventListeners:function(value){if(this.onExpanderClicked){var ex=this.getExpanderElement();Element.stopObserving(ex,'click',this.onExpanderClicked);}
if(this.onElementClicked)
Element.stopObserving(this.element,'click',this.onElementClicked);},destroy:function(){this.destroyContainer();this._destroyImpl();},destroyContainer:function(){this._removeEventListeners();this._destroyChildControls();}});Gaia.Extensions.TreeViewItem.fooBar=function(){}
Gaia.Extensions.TreeViewItem.browserFinishedLoading=true;
// Gaia Ajax Copyright (C) 2008 - 2009 Gaiaware AS. details at http://gaiaware.net/
if(!Gaia.Extensions)
Gaia.Extensions=Class.create();Gaia.Extensions.Window=Class.create();Object.extend(Gaia.Extensions.Window.prototype,Gaia.Panel.prototype);Object.extend(Gaia.Extensions.Window.prototype,{initialize:function(element,options){this.initializeWindow(element,options);},initializeWindow:function(element,options){this._ensureContainerMethodsCached();this.initializePanel(element,options);Element.setOpacity(this.element,0.01);this.init();this.bringWindowToFront();this.element.setStyle({'visibility':'visible'});return this;},init:function(){this.options.heightOfBorders=Element.getHeight(this.getCaption())+Element.getHeight(this.getBottom());this.options.widthOfBorders=Element.getWidth(this.element)-Element.getWidth(this.getContent());if(this.element.style.height&&!this.options.maximized)
this.setHeight(parseInt(this.element.style.height,10)||0)
if(this.options.center)
this.center();if(this.options.minimized)
this.minimize();if(this.options.maximized)
this.maximize();if(this.options.animateAppearance!=0){new Effect.Appear(this.element,{duration:(this.options.animateAppearance/1000)});}else{Element.setOpacity(this.element,1.0);}},reInit:function(){this._reInit();this.init();},_storeOldPositionAndHeight:function(){if(!this._isMaximized&&!this._isMinimized){this._oldSizePos={top:this.element.style.top,left:this.element.style.left,width:this.element.style.width,height:this.element.style.height,widthInner:this.getContent().style.width,heightInner:this.getContent().style.height};}},setHeight:function(value){this.element.setStyle({height:value+"px"});var expectedHeight=this.element.getHeight()-this.options.heightOfBorders;this.getContent().setStyle({height:expectedHeight+'px'});var middleHeight=this.getMiddle().getHeight();var difference=middleHeight-expectedHeight;if(difference>0){this.getContent().setStyle({height:(expectedHeight-difference)+'px'});}
return this;},setWidth:function(value){this.element.setStyle({width:value+'px'});this.getContent().setStyle({width:(value-this.options.widthOfBorders)+'px'});var contentWidth=this.getContent().getWidth();var difference=contentWidth+this.options.widthOfBorders-value;if(difference>0){this.getContent().setStyle({width:(value-this.options.widthOfBorders-difference)+'px'});}
return this;},_ensureContainerMethodsCached:function(){if(Gaia.Extensions.Window.ContainerMethods)return;Gaia.Extensions.Window.ContainerMethods=[];for(var itemName in Gaia.Container.prototype){if(!Object.isFunction(itemName))continue;Gaia.Extensions.Window.ContainerMethods.push(itemName);}},getContainerBody:function(){var parent=this.element;while(true){var parent=parent.parentNode;if(parent==null)break;if(!parent.id)continue;var ctrl=$G(parent.id);if(!ctrl)continue;var isContainer=true;for(var index=0;index<Gaia.Extensions.Window.ContainerMethods.length;++index){var methodName=Gaia.Extensions.Window.ContainerMethods[index];var found=false;for(var name in ctrl.prototype){if(!Object.isFunction(name)||name!=itemName)continue;found=true;break;}
if(!found){isContainer=false;break;}}
if(!isContainer)continue;return ctrl.getBody();}
return null;},maximize:function(){Element.addClassName(this.element,this.options.className+'-window-maximized');this._storeOldPositionAndHeight();this._isMaximized=true;var container=this.getContainerBody();if(container!=null){this.element.clonePosition(container);var dimensions=this.element.getDimensions();this.setWidth(dimensions.width);this.setHeight(dimensions.height);}else{var dimensions=document.viewport.getDimensions();var offset=document.viewport.getScrollOffsets();this.element.clonePosition(document.body,{'setHeight':false,'setWidth':false});this.setWidth(dimensions.width+offset.left);this.setHeight(dimensions.height+offset.top);}
return this;},restore:function(){Element.removeClassName(this.element,this.options.className+'-window-maximized');delete this._isMaximized;delete this._isMinimized;Element.show(this.getContent());this.element.setStyle({width:this._oldSizePos.width,height:this._oldSizePos.height,top:this._oldSizePos.top,left:this._oldSizePos.left});this.getContent().setStyle({width:this._oldSizePos.widthInner,height:this._oldSizePos.heightInner});return this;},minimize:function(){this._storeOldPositionAndHeight();this._isMinimized=true;if(this.getContent().style.display!='none'){Element.setStyle(this.element,{width:'300px'});}else{Element.setStyle(this.element,{width:this._oldSizePos.width});}
Element.toggle(this.getContent());return this;},getCaption:function(){return $(this.element.id+'_header');},getBottom:function(){return $(this.element.id+'_bottom');},getContent:function(){return $(this.element.id+'_content');},getMiddle:function(){return $(this.element.id+'_middle');},center:function(){var scr=document.viewport.getScrollOffsets();var size=document.viewport.getDimensions();var dimensions=$(this.element).getDimensions();var posLeft=Math.round(Math.max((size.width/2)-(dimensions.width/2),0));var posTop=Math.round(Math.max((size.height/2)-(dimensions.height/2),0));posLeft+=scr.left;posTop+=scr.top;Element.setStyle(this.element,{top:posTop+'px',left:posLeft+'px'});var cumOff=this.element.cumulativeOffset();if(cumOff.left!=posLeft){posLeft-=cumOff.left-posLeft;Element.setStyle(this.element,{left:posLeft+'px'});}
if(cumOff.top!=posTop){posTop-=cumOff.top-posTop;Element.setStyle(this.element,{top:posTop+'px'});}
this._centerChildWindows();},_centerChildWindows:function(){var list=[];var directChildren=[];var gaiaControls=Gaia.Control._registeredControls.values();for(var index=0,length=gaiaControls.length;index<length;++index){var ctrl=gaiaControls[index];var id=ctrl.getControlId();if(ctrl!=this&&id.indexOf(this.element.id)>-1&&ctrl.initializeWindow&&ctrl.options.center){var lindex=0;var llength=list.length;for(lindex=0;lindex<llength;++lindex){if(id.indexOf(list[lindex])>-1)break;}
if(lindex!==llength)continue;list.push(id);directChildren.push(ctrl);}}
directChildren.invoke('center');},_getElementPostValue:function(){return'';},bringWindowToFront:function(){Gaia.Extensions.Window._topMostWindow=this.element.id;this.bringToFront();},destroy:function(){if(Gaia.Extensions.Window._topMostWindow==this.element.id)
Gaia.Extensions.Window._topMostWindow=null;this._panelDestroy();}});Gaia.Extensions.Window._topMostWindow=null;Gaia.Extensions.Window.browserFinishedLoading=true;
Gaia_ExtensionsInclude_browserFinishedLoading = true
