
if(Object.isUndefined(Draggable)){if(Object.isUndefined(Effect)){throw("dragdrop.js requires including script.aculo.us' effects.js library");}
var Droppables={drops:[],remove:function(element){this.drops=this.drops.reject(function(d){return d.element==$(element)});},add:function(element){element=$(element);var options=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(options.containment){options._containers=[];var containment=options.containment;if(Object.isArray(containment)){containment.each(function(c){options._containers.push($(c))});}else{options._containers.push($(containment));}}
if(options.accept)options.accept=[options.accept].flatten();Element.makePositioned(element);options.element=element;this.drops.push(options);},findDeepestChild:function(drops){deepest=drops[0];for(i=1;i<drops.length;++i)
if(Element.isParent(drops[i].element,deepest.element))
deepest=drops[i];return deepest;},isContained:function(element,drop){var containmentNode;if(drop.tree){containmentNode=element.treeNode;}else{containmentNode=element.parentNode;}
return drop._containers.detect(function(c){return containmentNode==c});},isAffected:function(point,element,drop){return((drop.element!=element)&&((!drop._containers)||this.isContained(element,drop))&&((!drop.accept)||(Element.classNames(element).detect(function(v){return drop.accept.include(v)})))&&Position.within(drop.element,point[0],point[1]));},deactivate:function(drop){if(drop.hoverclass)
Element.removeClassName(drop.element,drop.hoverclass);this.last_active=null;},activate:function(drop){if(drop.hoverclass)
Element.addClassName(drop.element,drop.hoverclass);this.last_active=drop;},show:function(point,element){if(!this.drops.length)return;var drop,affected=[];this.drops.each(function(drop){if(Droppables.isAffected(point,element,drop))
affected.push(drop);});if(affected.length>0)
drop=Droppables.findDeepestChild(affected);if(this.last_active&&this.last_active!=drop)this.deactivate(this.last_active);if(drop){Position.within(drop.element,point[0],point[1]);if(drop.onHover)
drop.onHover(element,drop.element,Position.overlap(drop.overlap,drop.element));if(drop!=this.last_active)Droppables.activate(drop);}},fire:function(event,element){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(event),Event.pointerY(event)],element,this.last_active))
if(this.last_active.onDrop){this.last_active.onDrop(element,this.last_active.element,event);return true;}},reset:function(){if(this.last_active)
this.deactivate(this.last_active);}};var Draggables={drags:[],observers:[],register:function(draggable){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress);}
this.drags.push(draggable);},unregister:function(draggable){this.drags=this.drags.reject(function(d){return d==draggable});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress);}},activate:function(draggable){if(draggable.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=draggable;}.bind(this),draggable.options.delay);}else{window.focus();this.activeDraggable=draggable;}},deactivate:function(){this.activeDraggable=null;},updateDrag:function(event){if(!this.activeDraggable)return;var pointer=[Event.pointerX(event),Event.pointerY(event)];if(this._lastPointer&&(this._lastPointer.inspect()==pointer.inspect()))return;this._lastPointer=pointer;this.activeDraggable.updateDrag(event,pointer);},endDrag:function(event){if(this._timeout){clearTimeout(this._timeout);this._timeout=null;}
if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(event);this.activeDraggable=null;},keyPress:function(event){if(this.activeDraggable)
this.activeDraggable.keyPress(event);},addObserver:function(observer){this.observers.push(observer);this._cacheObserverCallbacks();},removeObserver:function(element){this.observers=this.observers.reject(function(o){return o.element==element});this._cacheObserverCallbacks();},notify:function(eventName,draggable,event){if(this[eventName+'Count']>0)
this.observers.each(function(o){if(o[eventName])o[eventName](eventName,draggable,event);});if(draggable.options[eventName])draggable.options[eventName](draggable,event);},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(eventName){Draggables[eventName+'Count']=Draggables.observers.select(function(o){return o[eventName];}).length;});}};var Draggable=Class.create({initialize:function(element){var defaults={handle:false,reverteffect:function(element,top_offset,left_offset){var dur=Math.sqrt(Math.abs(top_offset^2)+Math.abs(left_offset^2))*0.02;new Effect.Move(element,{x:-left_offset,y:-top_offset,duration:dur,queue:{scope:'_draggable',position:'end'}});},endeffect:function(element){var toOpacity=Object.isNumber(element._opacity)?element._opacity:1.0;new Effect.Opacity(element,{duration:0.2,from:0.7,to:toOpacity,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[element]=false}});},zindex:1000,revert:false,quiet:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||Object.isUndefined(arguments[1].endeffect))
Object.extend(defaults,{starteffect:function(element){element._opacity=Element.getOpacity(element);Draggable._dragging[element]=true;new Effect.Opacity(element,{duration:0.2,from:element._opacity,to:0.7});}});var options=Object.extend(defaults,arguments[1]||{});this.element=$(element);if(options.handle&&Object.isString(options.handle))
this.handle=this.element.down('.'+options.handle,0);if(!this.handle)this.handle=$(options.handle);if(!this.handle)this.handle=this.element;if(options.scroll&&!options.scroll.scrollTo&&!options.scroll.outerHTML){options.scroll=$(options.scroll);this._isScrollChild=Element.childOf(this.element,options.scroll);}
Element.makePositioned(this.element);this.options=options;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this);},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this);},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')]);},initDrag:function(event){if((typeof Sitebuilder!='undefined')&&Sitebuilder.Preview)
return;if(!Object.isUndefined(Draggable._dragging[this.element])&&Draggable._dragging[this.element])return;if(Event.isLeftClick(event)){var src=Event.element(event);if((tag_name=src.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var pointer=[Event.pointerX(event),Event.pointerY(event)];var pos=this.element.cumulativeOffset();this.offset=[0,1].map(function(i){return(pointer[i]-pos[i])});Draggables.activate(this);Event.stop(event);}},startDrag:function(event){this.dragging=true;if(!this.delta)
this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex;}
if(this.options.ghosting){this._clone=this.element.cloneNode(true);this._originallyAbsolute=(this.element.getStyle('position')=='absolute');if(!this._originallyAbsolute)
Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element);}
if(this.options.scroll){if(this.options.scroll==window){var where=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=where.left;this.originalScrollTop=where.top;}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop;}}
Draggables.notify('onStart',this,event);if(this.options.starteffect)this.options.starteffect(this.element);},updateDrag:function(event,pointer){if(!this.dragging)this.startDrag(event);if(!this.options.quiet){Position.prepare();Droppables.show(pointer,this.element);}
Draggables.notify('onDrag',this,event);this.draw(pointer);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height];}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight);}
var speed=[0,0];if(pointer[0]<(p[0]+this.options.scrollSensitivity))speed[0]=pointer[0]-(p[0]+this.options.scrollSensitivity);if(pointer[1]<(p[1]+this.options.scrollSensitivity))speed[1]=pointer[1]-(p[1]+this.options.scrollSensitivity);if(pointer[0]>(p[2]-this.options.scrollSensitivity))speed[0]=pointer[0]-(p[2]-this.options.scrollSensitivity);if(pointer[1]>(p[3]-this.options.scrollSensitivity))speed[1]=pointer[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(speed);}
if(Prototype.Browser.WebKit)window.scrollBy(0,0);Event.stop(event);},finishDrag:function(event,success){this.dragging=false;if(this.options.quiet){Position.prepare();var pointer=[Event.pointerX(event),Event.pointerY(event)];Droppables.show(pointer,this.element);}
if(this.options.ghosting){if(!this._originallyAbsolute)
Position.relativize(this.element);delete this._originallyAbsolute;Element.remove(this._clone);this._clone=null;}
var dropped=false;if(success){dropped=Droppables.fire(event,this.element);if(!dropped)dropped=false;}
if(dropped&&this.options.onDropped)this.options.onDropped(this.element);Draggables.notify('onEnd',this,event);var revert=this.options.revert;if(revert&&Object.isFunction(revert))revert=revert(this.element);var d=this.currentDelta();if(revert&&this.options.reverteffect){if(dropped==0||revert!='failure')
this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0]);}else{this.delta=d;}
if(this.options.zindex)
this.element.style.zIndex=this.originalZ;if(this.options.endeffect)
this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset();},keyPress:function(event){if(event.keyCode!=Event.KEY_ESC)return;this.finishDrag(event,false);Event.stop(event);},endDrag:function(event){if(!this.dragging)return;this.stopScrolling();this.finishDrag(event,true);Event.stop(event);},draw:function(point){var pos=this.element.cumulativeOffset();if(this.options.ghosting){var r=Position.realOffset(this.element);pos[0]+=r[0]-Position.deltaX;pos[1]+=r[1]-Position.deltaY;}
var d=this.currentDelta();pos[0]-=d[0];pos[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){pos[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;pos[1]-=this.options.scroll.scrollTop-this.originalScrollTop;}
var p=[0,1].map(function(i){return(point[i]-pos[i]-this.offset[i])}.bind(this));if(this.options.ghosting){p[0]+=window.scrollX;p[1]+=window.scrollY;}
if(this.options.snap){if(Object.isFunction(this.options.snap)){p=this.options.snap(p[0],p[1],this);}else{if(Object.isArray(this.options.snap)){p=p.map(function(v,i){return(v/this.options.snap[i]).round()*this.options.snap[i]}.bind(this));}else{p=p.map(function(v){return(v/this.options.snap).round()*this.options.snap}.bind(this));}}}
if(this.options.minLeft&&p[0]<this.options.minLeft)
p[0]=this.options.minLeft;if(this.options.minTop&&p[1]<this.options.minTop)
p[1]=this.options.minTop;var style=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))
style.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))
style.top=p[1]+"px";if(style.visibility=="hidden")style.visibility="";},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null;}},startScrolling:function(speed){if(!(speed[0]||speed[1]))return;this.scrollSpeed=[speed[0]*this.options.scrollSpeed,speed[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10);},scroll:function(){var current=new Date();var delta=current-this.lastScrolled;this.lastScrolled=current;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=delta/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1]);}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*delta/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*delta/1000;}
Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*delta/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*delta/1000;if(Draggables._lastScrollPointer[0]<0)
Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)
Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer);}
if(this.options.change)this.options.change(this);},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft;}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft;}
if(w.innerWidth){W=w.innerWidth;H=w.innerHeight;}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight;}else{W=body.offsetWidth;H=body.offsetHeight;}}
return{top:T,left:L,width:W,height:H};}});Draggable._dragging={};Element.isParent=function(child,element){if(!child.parentNode||child==element)return false;if(child.parentNode==element)return true;return Element.isParent(child.parentNode,element);};Element.findChildren=function(element,only,recursive,tagName){if(!element.hasChildNodes())return null;tagName=tagName.toUpperCase();if(only)only=[only].flatten();var elements=[];$A(element.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==tagName&&(!only||(Element.classNames(e).detect(function(v){return only.include(v)}))))
elements.push(e);if(recursive){var grandchildren=Element.findChildren(e,only,recursive,tagName);if(grandchildren)elements.push(grandchildren);}});return(elements.length>0?elements.flatten():[]);};Element.offsetSize=function(element,type){return element['offset'+((type=='vertical'||type=='height')?'Height':'Width')];};}
var fuiPanel=Class.create();fuiPanel.prototype={initialize:function(id,options){this.options={top:100,left:(document.viewport.getWidth()-500),loaded:false};this.options=Object.extend(this.options,options||{});this.id=id;this.element=$(id);this.elementOuter=$(id+'_outer');this.elementContents=$(id+'_contents');this.element.panel=this;this.blockPanelSave=false;this.resizable=new fuiResizable(id,{save:null,minheight:'25px',minx:200,miny:200,contents:id+'_contents',onResize:function(rz,initialise){var panel=this.element;var panelOuter=$(id+'_outer');var panelSize=panelOuter.getDimensions();if($(id+'_contents')){$(id+'_contents').setStyle({height:(panelOuter.getHeight()-74)+'px'});}
if($(id+'_tab')&&panelOuter.style.left){$(id+'_tab').style.left=parseInt(panelOuter.style.left)-26+'px';$(id+'_tab').style.top=parseInt(panelOuter.style.top)+((panelSize.height/2)-($(id+'_tab').getHeight()/2))+'px';}
if($(id+'_contents_spinner')){$(id+'_contents_spinner').style.top=((panelSize.height/2)-16)+'px';$(id+'_contents_spinner').style.left=((panelSize.width/2)-16)+'px';}
if(typeof initialise!='undefined'){this.initialCall=true;window.setTimeout(function(){this.blockPanelSave=false;},3000);}
if(this.blockPanelSave==false){if(this.save){window.clearTimeout(this.save);}
this.save=window.setTimeout(function(){var st=[];st.push(panel.clientWidth);st.push(panel.clientHeight);st.push(rz.onscreen);st.push(rz.docked);saveCookie(id+'_state',st);},1000);}
if(Object.isFunction(this.onresize)){this.onresize(null);}}.bind(this),onDock:function(){fuiHelpTab('dock');}.bind(this),onClose:function(){fuiHelpTab('hide');}.bind(this)});this.createDraggable(id);var pos=unescape(Cookie.get(id+'_position').getValue()).split(',');var st=unescape(Cookie.get(id+'_state').getValue()).split(',');if((pos.length==2)||(st.length==3)){if(pos.length==2){if((pos[0]+$(id+'_outer').getHeight())>document.viewport.getHeight()||pos[0]<0){pos[0]=this.options.top;}
if(($(id+'_outer').offsetLeft+($(id+'_outer').getWidth()/2))>document.viewport.getWidth()){pos[1]=this.options.left;}
this.elementOuter.setStyle({top:pos[0]+'px',left:pos[1]+'px'});}else{this.elementOuter.setStyle({top:this.options.top+'px',left:this.options.left+'px'});}
if(st.length==4){st[0]=parseInt(st[0]);st[1]=parseInt(st[1]);if(st[0]<this.resizable.options.minx){st[0]=this.resizable.options.minx;}
if(st[1]<this.resizable.options.miny){st[1]=this.resizable.options.miny;}
this.resizable.setSize(st[0],st[1],'true');if(st[2]=='true'){fuiHelpTab('show',true);}
if(st[3]=='true'){}}}else{this.elementOuter.setStyle({top:this.options.top+'px',left:this.options.left+'px'});this.elementContents.setStyle({height:(parseInt(this.element.style.height)-74)+'px'});}
if($(id+'_tab')){if(parseInt(this.elementOuter.style.left)>0){$(id+'_tab').style.left=(parseInt(this.elementOuter.style.left)-26)+'px';}else{$(id+'_tab').style.left=(this.options.left-26)+'px';}
if(this.element.getHeight()>0){$(id+'_tab').style.top=this.elementOuter.offsetTop+((this.element.getHeight()/2)-($(id+'_tab').getHeight()/2))+'px';}else{$(id+'_tab').style.top=this.options.top+((parseInt(this.elementOuter.style.height)/2)-74)+'px';}}},createDraggable:function(id){this.draggable=new Draggable(id+'_outer',{handle:id+'_header',tab:id+'_tab',onDrag:function(){if($(id+'_tab')){$(id+'_tab').style.left=($(id+'_outer').offsetLeft-26)+'px';$(id+'_tab').style.top=$(id+'_outer').offsetTop+(($(id).getHeight()/2)-($(id+'_tab').getHeight()/2))+'px';}
if((($(id+'_outer').offsetLeft+($(id+'_outer').getWidth()/2))>document.viewport.getWidth())||(($(id+'_outer').offsetTop+($(id+'_outer').getHeight()-100))>document.viewport.getHeight())){$(id+'_tab_icon').addClassName('fui_tab_help_open_hover');}else{$(id+'_tab_icon').removeClassName('fui_tab_help_open_hover');}
if(Object.isFunction(this.ondrag)){this.ondrag();}}.bind(this),onEnd:function(){if(((parseInt($(id+'_outer').style.left)+($(id+'_outer').getWidth()/2))>document.viewport.getWidth())||((parseInt($(id+'_outer').style.top)+($(id+'_outer').getHeight()-100))>document.viewport.getHeight())){fuiHelpTab('hide');$(id+'_tab_icon').removeClassName('fui_tab_help_open_hover');movePanel=true;}else if(parseInt($(id+'_outer').style.top)<-10){movePanel=true;}else{movePanel=false;if($(id+'_tab')){$(id+'_tab').style.left=($(id+'_outer').offsetLeft-26)+'px';$(id+'_tab').style.top=$(id+'_outer').offsetTop+(($(id).getHeight()/2)-($(id+'_tab').getHeight()/2))+'px';}}
if((typeof movePanel!='undefined')&&movePanel){if(((parseInt($(id+'_outer').style.left)+($(id+'_outer').getWidth()/2))>document.viewport.getWidth())){$(id+'_outer').style.left=(document.viewport.getWidth()-($(id+'_outer').getWidth()+100))+'px';$(id+'_tab').style.left=(document.viewport.getWidth()-($(id+'_outer').getWidth()+127))+'px';}
if((parseInt($(id+'_outer').style.top)+($(id+'_outer').getHeight()-100))>document.viewport.getHeight()||(parseInt($(id+'_outer').style.top)<-10)){$(id+'_outer').style.top=(document.viewport.getHeight()-($(id+'_outer').getHeight()+100))+'px';$(id+'_tab').style.top=(document.viewport.getHeight()-((($(id+'_outer').getHeight()/2)-($(id+'_tab').getHeight()/2))+100))+'px';}}
var el=$(id+'_outer');var pos=[];pos.push(parseInt(el.style.top));pos.push(parseInt(el.style.left));saveCookie(id+'_position',pos);}});},saveState:function(onscreen,docked){var st=[];st.push(this.element.clientWidth);st.push(this.element.clientHeight);if(typeof onscreen!='undefined'){st.push(onscreen);}else{st.push(this.resizable.onscreen);}
if(typeof docked!='undefined'){st.push(docked);}else{st.push(this.resizable.docked);}
saveCookie(this.id+'_state',st);}}
var fuiResizable=Class.create();fuiResizable.prototype={initialize:function(el,options){this.options={minheight:false,contents:false,minx:10,miny:10,onResize:null,onDock:null,onClose:null}
this.options=Object.extend(this.options,options||{});this.element=$(el);this.elementOuter=$(el+'_outer');this.elementTab=$(el+'_tab');this.onscreen=false;this.docked=false;this.handle=new Element('div',{'id':el+'_handle','class':'fui_help_panel_icon_resize'});this.handle.setStyle({position:'absolute',right:'2px',bottom:'0'});this.element.appendChild(this.handle);var d=new Draggable(this.handle,{revert:function(){if((parseInt($(el+'_handle').style.left)<180)||(parseInt($(el+'_handle').style.top)<180)){$(el+'_handle').writeAttribute('style','position:absolute; right:2px; bottom:0;');}}});Draggables.addObserver(this);if(Object.isFunction(this.options.onDock)&&!$('fui_help_panel_icon_panel_dock')&&(document.viewport.getWidth()>(982+300))){this.minmax=$(el+'_header_minmax');var dBtn=new Element('div',{'id':'fui_help_panel_icon_panel_dock','class':'fui_help_panel_icon_panel_undocked','title':'Dock help?'});dBtn.observe('click',this.options.onDock);this.minmax.appendChild(dBtn);}
if(Object.isFunction(this.options.onClose)&&!$('fui_help_panel_icon_panel_close')){this.minmax=$(el+'_header_minmax');var cBtn=new Element('div',{'id':'fui_help_panel_icon_panel_close','class':'fui_help_panel_icon_panel_close','title':'Hide help?'});cBtn.observe('click',this.options.onClose);this.minmax.appendChild(cBtn);}
Event.observe(window,'resize',function(){var theViewport=document.viewport.getDimensions();if($('fui_help_panel_icon_panel_dock')){if(theViewport.width>(982+300)){$('fui_help_panel_icon_panel_dock').show();}else{$('fui_help_panel_icon_panel_dock').hide();}}
if((typeof fuiHelpPanel!='undefined')&&fuiHelpPanel.resizable.docked){if(theViewport.width>(982+300)){if($('fui_help_panel')){$('fui_help_panel').style.width=(theViewport.width-1022)+'px';}
if($('fui_help_panel_contents')){$('fui_help_panel_contents').style.height=(theViewport.height-46)+'px';}
if($('fui_help_panel_outer')&&$('fui_help_panel')){$('fui_help_panel_outer').style.left=(theViewport.width-parseInt($('fui_help_panel').style.width)-2)+'px';}
if($('fui_help_panel_tab')){$('fui_help_panel_tab').style.left=(theViewport.width-parseInt($('fui_help_panel').style.width)-28)+'px';$('fui_help_panel_tab').style.top=((theViewport.height/2)-($('fui_help_panel_tab').getHeight()/2))+'px';}}else{fuiHelpTabDock('destroy',false,true);}}});},onDrag:function(eventName,draggable,event,initialise){if(draggable.element.id==this.handle.id){var w=parseInt(this.handle.offsetLeft)+this.handle.offsetWidth;var h=parseInt(this.handle.offsetTop)+this.handle.offsetHeight;var panelSize=this.element.getDimensions();if(w>=this.options.minx){this.element.style.width=(w+3)+'px';this.elementOuter.style.width=(w+3)+'px';}else{if(typeof initialise=='undefined'){this.handle.style.right='2px';}}
if(h>=this.options.miny){this.element.style.height=h+'px';this.elementOuter.style.height=h+'px';if($('fui_help_panel_tab')){$('fui_help_panel_tab').style.top=(this.elementOuter.offsetTop+(h/2)-($('fui_help_panel_tab').getHeight()/2))+'px';}}else{if(typeof initialise=='undefined'){this.handle.style.bottom='0';}}
if(this.options.onResize){this.options.onResize(this,initialise);}}},onEnd:function(eventName,draggable,event){if(draggable.element.id==this.handle.id){this.onDrag(eventName,draggable,event);}},setSize:function(width,height,initialise){this.element.style.width=width+'px';this.element.style.height=height+'px';if($(this.element.id+'_contents')){$(this.element.id+'_contents').setStyle({height:(height-74)+'px'});}
if($(this.element.id+'_tab')){$(this.element.id+'_tab').style.top=(this.elementOuter.offsetTop+(this.element.getHeight()/2)-($(this.element.id+'_tab').getHeight()/2))+'px';$(this.element.id+'_tab').style.left=(parseInt(this.elementOuter.style.left)-26)+'px';}}}
function Cookie(){var name,value='',expires,path='/',domain,secure=false;this.setName=function(sName){name=sName;}
this.getName=function(){return name;}
this.getValue=function(){return unescape((value instanceof Array)?value.join('&'):value);}
this.setValue=function(sValue){value=escape(sValue);}
this.add=function(key,val){if(!(value instanceof Array)){var temp=value;value=[];if(temp){value[value.length]=temp;}}
value[value.length]=key+'='+escape(val);}
this.setExpires=function(date){expires=date;}
this.getExpires=function(){return expires;}
this.setDomain=function(sD){domain=sD;}
this.getDomain=function(){return domain;}
this.setSecure=function(scr){secure=!!scr;}
this.getSecure=function(){return secure;}
this.save=function(){if(name&&value){if(value instanceof Array){value=value.join('&');}
document.cookie=name+'='+escape(value)+
((expires)?';expires='+expires.toGMTString():'')+
((path)?';path='+path:'')+
((domain)?';domain='+domain:'')+
((secure)?';secure':'');}}
this.remove=function(){expires=new Date(new Date().getTime()-1000*60*60*24);this.save();}};Cookie.get=function(name){var start=document.cookie.indexOf(name+'=');var len=start+name.length+1;var cookie=new Cookie();if(!(((!start)&&(name!=document.cookie.substring(0,name.length)))||(start==-1))){var end=document.cookie.indexOf(';',len);if(end==-1)end=document.cookie.length;cookie.setValue(unescape(document.cookie.substring(len,end)));}
cookie.setName(name);return cookie;}
function saveCookie(name,data){var ckie=new Cookie();ckie.setName(name);ckie.setValue(data.join(','));var dt=new Date();dt.setDate(dt.getDate()+365);ckie.setExpires(dt);ckie.save();}
function fuiHelpLoading(){if((typeof fuiHelpPanel!='undefined')&&$('fui_help_panel_contents')&&!$('fui_help_panel_contents_spinner')){$('fui_help_panel_contents').innerHTML=""+"<table style=\"height:100%; width:100%;\">"+" <tr>"+"  <td style=\"text-align:center;\" valign=\"middle\">"+"   <img id=\"fui_help_panel_contents_spinner\" class=\"nb\" src=\"/graphics/icons/small-transparent-loading.gif\" alt=\"\" />"+"  </td>"+" </tr>"+"</table>";}}
function fuiHelpTabLoad(url){if(typeof url!='undefined'){fuiHelpLoading();fuiHelpTab('show',false,url);}}
function fuiHelpTab(action,blockSave,url){if((typeof action!='undefined')&&$('fui_tab_help')&&$('fui_help_panel_outer')){if(action=='toggle'){if(!$('fui_help_panel_outer').visible()){fuiHelpTab('show');}else{fuiHelpTab('hide');}}else if(action=='dock'){if((typeof fuiHelpPanel!='undefined')&&!fuiHelpPanel.resizable.docked){fuiHelpTabDock('create');}else{fuiHelpTabDock('destroy');}}else if(action=='show'){$('fui_help_panel_outer').show();$('fui_tab_help').hide();if((typeof fuiHelpPanel!='undefined')&&fuiHelpPanel.resizable.docked){if($('headerWrapperInner')){$('headerWrapperInner').style.margin='0 0 0 14px';}
if($('menuInner')){$('menuInner').style.margin='0 0 0 14px';}
if($('content')){$('content').style.margin='0 0 0 14px';}}
if(((typeof blockSave=='undefined')||!blockSave)&&(typeof fuiHelpPanel!='undefined')){onscreen=true;fuiHelpPanel.saveState(onscreen);}
if((typeof url!='undefined')&&url){theurl=url;}else if((typeof fuiHelpPanelHint!='undefined')||$('fuiHelpPanelHint')){if($('fuiHelpPanelHint')){theurl=$('fuiHelpPanelHint').value;}else{theurl=fuiHelpPanelHint;}}else{theurl=window.location.href;}
if(((typeof fuiHelpPanel!='undefined')&&$('fui_help_panel_contents')&&(fuiHelpPanel.options.loaded!=theurl))||((typeof blockSave!='undefined')&&blockSave)){userid=null;companyid=null;if($('data_user_id')&&!$('data_user_id').innerHTML.empty()){userid=$('data_user_id').innerHTML;}
if($('data_company_id')&&!$('data_company_id').innerHTML.empty()){companyid=$('data_company_id').innerHTML;}
new Ajax.Request('/help_content.php',{method:'post',parameters:{url:theurl,userid:userid,companyid:companyid},onSuccess:function(transport){$('fui_help_panel_contents').innerHTML=transport.responseText;fuiHelpPanel.options.loaded=theurl;},onFailure:function(){$('fui_help_panel_contents').innerHTML=" "+"<table style=\"height:100%; width:100%;\">"+" <tr>"+"  <td style=\"text-align:center; font-style:italic; font-size:12px; color:#999;\" valign=\"middle\">"+"   no content"+"  </td>"+" </tr>"+"</table>";}});}}else if(action=='hide'){if((typeof fuiHelpPanel!='undefined')&&fuiHelpPanel.resizable.docked){if($('headerWrapperInner')){$('headerWrapperInner').style.margin='auto';}
if($('menuInner')){$('menuInner').style.margin='auto';}
if($('content')){$('content').style.margin='auto';}}
if(((typeof blockSave=='undefined')||!blockSave)&&(typeof fuiHelpPanel!='undefined')){onscreen=false;fuiHelpPanel.saveState(onscreen);}
$('fui_help_panel_outer').hide();$('fui_tab_help').show();}else if(action=='highlight'){fuiHighlight('fui_tab_help');}}}
function fuiHelpTabDock(action,blockSave,ignoreDimensions){if((typeof action!='undefined')&&$(fuiHelpPanel.id)&&$(fuiHelpPanel.id+'_outer')){var theViewport=document.viewport.getDimensions();if(theViewport.width>(982+300)||(typeof ignoreDimensions!='undefined')&&ignoreDimensions){if(action=='create'){theMargin='0 0 0 14px';contentMargin='0';handleAction='hide';panelTop=0;panelHeight='100%';panelWidth=(theViewport.width-1022);panelLeft=(theViewport.width-panelWidth)-2;panelClass='fui_help_panel_docked';panelHeaderClass='fui_help_panel_header_docked clearfix';panelContentsHeight=(theViewport.height-46);dockIcon='fui_help_panel_icon_panel_docked';dockTitle='Undock panel?';tabTop=((theViewport.height/2)-($(fuiHelpPanel.id+'_tab').getHeight()/2));fuiHelpPanel.resizable.docked=true;fuiHelpPanel.draggable.destroy();}else if(action=='destroy'){theMargin='auto';contentMargin='auto';handleAction='show';panelTop=200;panelHeight=350;panelWidth=300;panelLeft=(theViewport.width-panelWidth)-100;panelClass='fui_help_panel';panelHeaderClass='fui_help_panel_header clearfix';tabTop=panelTop+((panelHeight/2)-($(fuiHelpPanel.id+'_tab').getHeight()/2));panelContentsHeight=(panelHeight-74);dockIcon='fui_help_panel_icon_panel_undocked';dockTitle='Dock panel?';fuiHelpPanel.resizable.docked=false;fuiHelpPanel.createDraggable(fuiHelpPanel.id);panelHeight+='px';}
if($('headerWrapperInner')){$('headerWrapperInner').style.margin=theMargin;}
if($('menuInner')){$('menuInner').style.margin=theMargin;}
if($('content')){$('content').style.margin=contentMargin;}
$(fuiHelpPanel.id+'_outer').style.top=panelTop+'px';$(fuiHelpPanel.id+'_outer').style.left=panelLeft+'px';$(fuiHelpPanel.id+'_contents').style.height=panelContentsHeight+'px';$(fuiHelpPanel.id).style.height=panelHeight;$(fuiHelpPanel.id).style.width=panelWidth+'px';$(fuiHelpPanel.id).writeAttribute('class',panelClass);$(fuiHelpPanel.id+'_header').writeAttribute('class',panelHeaderClass);$(fuiHelpPanel.id+'_icon_panel_dock').writeAttribute('class',dockIcon);$(fuiHelpPanel.id+'_icon_panel_dock').title=dockTitle;$(fuiHelpPanel.id+'_tab').style.left=((panelLeft-$(fuiHelpPanel.id+'_tab').getWidth())+1)+'px';$(fuiHelpPanel.id+'_tab').style.top=tabTop+'px';if($(fuiHelpPanel.id+'_handle')){$$('div#'+fuiHelpPanel.id+'_handle').invoke(handleAction);}
if(((typeof blockSave=='undefined')||!blockSave)&&(typeof fuiHelpPanel!='undefined')){fuiHelpPanel.saveState();}}}}
function fuiHelpPanelHighlight(element){fuiScrollTo(element,-200);fuiHighlight(element);}
if(typeof fuiHighlight!='function'){function fuiHighlight(id,light){if(typeof light!='undefined'&&light){theColour='#F8F8F8';}else{theColour='#B7D332';}
if($(id)){new Effect.Highlight($(id),{duration:0.4,startcolor:theColour});}}}
if(typeof fuiScrollTo!='function'){function fuiScrollTo(element,verticalPixels){if($(element)){var pos=$(element).cumulativeOffset();if(typeof verticalPixels!='undefined'){pos[1]=pos[1]+verticalPixels;if(pos[1]<0){pos[1]=0}}
window.scrollTo(pos[0],pos[1]);return element;}else{return false;}}}
document.observe('dom:loaded',function(){fuiHelpPanel=new fuiPanel('fui_help_panel');});