if(typeof(Control)=='undefined')Control={};var $proc=function(a){return typeof(a)=='function'?a:function(){return a}};var $value=function(a){return typeof(a)=='function'?a():a};Object.Event={extend:function(f){f._objectEventSetup=function(a){this._observers=this._observers||{};this._observers[a]=this._observers[a]||[]};f.observe=function(a,b){if(typeof(a)=='string'&&typeof(b)!='undefined'){this._objectEventSetup(a);if(!this._observers[a].include(b))this._observers[a].push(b)}else for(var c in a)this.observe(c,a[c])};f.stopObserving=function(a,b){this._objectEventSetup(a);if(a&&b)this._observers[a]=this._observers[a].without(b);else if(a)this._observers[a]=[];else this._observers={}};f.observeOnce=function(a,b){var c=function(){b.apply(this,arguments);this.stopObserving(a,c)}.bind(this);this._objectEventSetup(a);this._observers[a].push(c)};f.notify=function(a){this._objectEventSetup(a);var b=[];var c=$A(arguments).slice(1);try{for(var d=0;d<this._observers[a].length;++d)b.push(this._observers[a][d].apply(this._observers[a][d],c)||null)}catch(e){if(e==$break)return false;else throw e;}return b};if(f.prototype){f.prototype._objectEventSetup=f._objectEventSetup;f.prototype.observe=f.observe;f.prototype.stopObserving=f.stopObserving;f.prototype.observeOnce=f.observeOnce;f.prototype.notify=function(a){if(f.notify){var b=$A(arguments).slice(1);b.unshift(this);b.unshift(a);f.notify.apply(f,b)}this._objectEventSetup(a);var b=$A(arguments).slice(1);var c=[];try{if(this.options&&this.options[a]&&typeof(this.options[a])=='function')c.push(this.options[a].apply(this,b)||null);for(var d=0;d<this._observers[a].length;++d)c.push(this._observers[a][d].apply(this._observers[a][d],b)||null)}catch(e){if(e==$break)return false;else throw e;}return c}}}};Element.addMethods({observeOnce:function(a,b,c){var d=function(){c.apply(this,arguments);Element.stopObserving(a,b,d)};Element.observe(a,b,d)}});Object.extend(Event,(function(){var k=Event.cache;function n(a){if(a._prototypeEventID)return a._prototypeEventID[0];arguments.callee.id=arguments.callee.id||1;return(a._prototypeEventID=[++arguments.callee.id])}function h(a){if(a&&a.include(':'))return"dataavailable";if(!Prototype.Browser.IE){a={mouseenter:'mouseover',mouseleave:'mouseout'}[a]||a}return a}function o(a){return(k[a]=k[a]||{})}function p(a,b){var c=o(a);return c[b]=c[b]||[]}function r(f,i,g){var j=n(f);var m=p(j,i);if(m.pluck("handler").include(g))return false;var l=function(a){if(!Event||!Event.extend||(a.eventName&&a.eventName!=i))return false;Event.extend(a);g.call(f,a)};if(!(Prototype.Browser.IE)&&['mouseenter','mouseleave'].include(i)){l=l.wrap(function(a,b){var c=b.relatedTarget;var d=b.currentTarget;if(c&&c.nodeType==Node.TEXT_NODE)c=c.parentNode;if(c&&c!=d&&!c.descendantOf(d))return a(b)})}l.handler=g;m.push(l);return l}function q(b,c,d){var f=p(b,c);return f.find(function(a){return a.handler==d})}function s(a,b,c){var d=o(a);if(!d[b])return false;d[b]=d[b].without(q(a,b,c))}function u(){for(var a in k)for(var eventName in k[a])k[a][eventName]=null}if(window.attachEvent){window.attachEvent("onunload",u)}return{observe:function(a,b,c){a=$(a);var d=h(b);var f=r(a,b,c);if(!f)return a;if(a.addEventListener){a.addEventListener(d,f,false)}else{a.attachEvent("on"+d,f)}return a},stopObserving:function(b,c,d){b=$(b);var f=n(b),i=h(c);if(!d&&c){p(f,c).each(function(a){b.stopObserving(c,a.handler)});return b}else if(!c){Object.keys(o(f)).each(function(a){b.stopObserving(a)});return b}var g=q(f,c,d);if(!g)return b;if(b.removeEventListener){b.removeEventListener(i,g,false)}else{b.detachEvent("on"+i,g)}s(f,c,d);return b},fire:function(a,b,c){a=$(a);if(a==document&&document.createEvent&&!a.dispatchEvent)a=document.documentElement;var d;if(document.createEvent){d=document.createEvent("HTMLEvents");d.initEvent("dataavailable",true,true)}else{d=document.createEventObject();d.eventType="ondataavailable"}d.eventName=b;d.memo=c||{};if(document.createEvent){a.dispatchEvent(d)}else{a.fireEvent(d.eventType,d)}return Event.extend(d)}}})());Object.extend(Event,Event.Methods);Element.addMethods({fire:Event.fire,observe:Event.observe,stopObserving:Event.stopObserving});Object.extend(document,{fire:Element.Methods.fire.methodize(),observe:Element.Methods.observe.methodize(),stopObserving:Element.Methods.stopObserving.methodize()});(function(){function d(a){var b;if(a.wheelDelta)b=a.wheelDelta/120;else if(a.detail)b=-a.detail/3;if(!b)return;var c=Event.element(a).fire('mouse:wheel',{delta:b});if(c.stopped){a.stop();return false}}document.observe('mousewheel',d);document.observe('DOMMouseScroll',d)})();var IframeShim=Class.create({initialize:function(){this.element=new Element('iframe',{style:'position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);display:none',src:'javascript:void(0);',frameborder:0});$(document.body).insert(this.element)},hide:function(){this.element.hide();return this},show:function(){this.element.show();return this},positionUnder:function(a){var a=$(a);var b=a.cumulativeOffset();var c=a.getDimensions();this.element.setStyle({left:b[0]+'px',top:b[1]+'px',width:c.width+'px',height:c.height+'px',zIndex:a.getStyle('zIndex')-1}).show();return this},setBounds:function(a){for(prop in a)a[prop]+='px';this.element.setStyle(a);return this},destroy:function(){if(this.element)this.element.remove();return this}});if(typeof(Draggable)!='undefined'){Draggable.prototype.draw=function(c){var d=Position.cumulativeOffset(this.element);if(this.options.ghosting){var f=Position.realOffset(this.element);d[0]+=f[0]-Position.deltaX;d[1]+=f[1]-Position.deltaY}var i=this.currentDelta();d[0]-=i[0];d[1]-=i[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){d[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;d[1]-=this.options.scroll.scrollTop-this.originalScrollTop}var g=[0,1].map(function(a){return(c[a]-d[a]-this.offset[a])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){g=this.options.snap(g[0],g[1],this)}else{if(this.options.snap instanceof Array){g=g.map(function(a,b){return Math.round(a/this.options.snap[b])*this.options.snap[b]}.bind(this))}else{g=g.map(function(a){return Math.round(a/this.options.snap)*this.options.snap}.bind(this))}}}if(this.options.onDraw)this.options.onDraw.bind(this)(g);else{var j=this.element.style;if(this.options.constrainToViewport){var m=document.viewport.getDimensions();var l=this.element.getDimensions();var k=parseInt(this.element.getStyle('margin-top'));var n=parseInt(this.element.getStyle('margin-left'));var h=[[0-n,0-k],[(m.width-l.width)-n,(m.height-l.height)-k]];if((!this.options.constraint)||(this.options.constraint=='horizontal')){if((g[0]>=h[0][0])&&(g[0]<=h[1][0]))this.element.style.left=g[0]+'px';else this.element.style.left=((g[0]<h[0][0])?h[0][0]:h[1][0])+'px'}if((!this.options.constraint)||(this.options.constraint=='vertical')){if((g[1]>=h[0][1])&&(g[1]<=h[1][1]))this.element.style.top=g[1]+'px';else this.element.style.top=((g[1]<=h[0][1])?h[0][1]:h[1][1])+'px'}}else{if((!this.options.constraint)||(this.options.constraint=='horizontal'))j.left=g[0]+'px';if((!this.options.constraint)||(this.options.constraint=='vertical'))j.top=g[1]+'px'}if(j.visibility=='hidden')j.visibility=''}}}if(typeof(Prototype)=='undefined')throw'Control.Window requires Prototype to be loaded.';if(typeof(IframeShim)=='undefined')throw'Control.Window requires IframeShim to be loaded.';if(typeof(Object.Event)=='undefined')throw'Control.Window requires Object.Event to be loaded.';Control.Window=Class.create({initialize:function(b,c){Control.Window.windows.push(this);this.container=false;this.isOpen=false;this.href=false;this.sourceContainer=false;this.ajaxRequest=false;this.remoteContentLoaded=false;this.numberInSequence=Control.Window.windows.length+1;this.indicator=false;this.effects={fade:false,appear:false};this.indicatorEffects={fade:false,appear:false};this.options=Object.extend({beforeOpen:Prototype.emptyFunction,afterOpen:Prototype.emptyFunction,beforeClose:Prototype.emptyFunction,afterClose:Prototype.emptyFunction,height:null,width:null,className:false,position:'center',offsetLeft:0,offsetTop:0,iframe:false,hover:false,indicator:false,closeOnClick:false,iframeshim:true,fade:false,fadeDuration:0.75,draggable:false,onDrag:Prototype.emptyFunction,resizable:false,minHeight:false,minWidth:false,maxHeight:false,maxWidth:false,onResize:Prototype.emptyFunction,constrainToViewport:false,method:'post',parameters:{},onComplete:Prototype.emptyFunction,onSuccess:Prototype.emptyFunction,onFailure:Prototype.emptyFunction,onException:Prototype.emptyFunction,onRemoteContentLoaded:Prototype.emptyFunction,insertRemoteContentAt:false},c||{});this.indicator=this.options.indicator?$(this.options.indicator):false;if(b){if(typeof(b)=='string'&&b.match(Control.Window.uriRegex))this.href=b;else{this.container=$(b);this.createDefaultContainer(b);if(this.container&&((this.container.readAttribute('href')&&this.container.readAttribute('href')!='')||(this.options.hover&&this.options.hover!==true))){if(this.options.hover&&this.options.hover!==true)this.sourceContainer=$(this.options.hover);else{this.sourceContainer=this.container;this.href=this.container.readAttribute('href');var d=this.href.match(/^#(.+)$/);if(d&&d[1]){this.container=$(d[1]);this.href=false}else this.container=false}this.delayedOpenHandler=function(a){this.hoverTimer=this.sourceContainerOpenHandler.delay(1)}.bindAsEventListener(this);this.sourceContainerOpenHandler=function(a){this.open(a);if(a){a.stop()}return false}.bindAsEventListener(this);this.sourceContainerCloseHandler=function(a){clearTimeout(this.hoverTimer);this.close(a)}.bindAsEventListener(this);this.sourceContainerMouseMoveHandler=function(a){this.position(a)}.bindAsEventListener(this);if(this.options.hover){this.sourceContainer.observe('mouseenter',this.delayedOpenHandler);this.sourceContainer.observe('mouseleave',this.sourceContainerCloseHandler);if(this.options.position=='mouse')this.sourceContainer.observe('mousemove',this.sourceContainerMouseMoveHandler)}else this.sourceContainer.observe('click',this.sourceContainerOpenHandler);if(this.options.position=='mouse')this.sourceContainer.observe('click',this.position.bindAsEventListener(this))}}}this.createDefaultContainer(b);if(this.options.insertRemoteContentAt===false)this.options.insertRemoteContentAt=this.container;var f={margin:0,position:'absolute',zIndex:Control.Window.initialZIndexForWindow()};if(this.options.width)f.width=$value(this.options.width)+'px';if(this.options.height)f.height=$value(this.options.height)+'px';this.container.setStyle(f);if(this.options.className)this.container.addClassName(this.options.className);this.positionHandler=this.position.bindAsEventListener(this);this.outOfBoundsPositionHandler=this.ensureInBounds.bindAsEventListener(this);this.bringToFrontHandler=this.bringToFront.bindAsEventListener(this);this.container.observe('mousedown',this.bringToFrontHandler);this.container.hide();this.closeHandler=this.close.bindAsEventListener(this);if(this.options.iframeshim){this.iFrameShim=new IframeShim();this.iFrameShim.hide()}this.applyResizable();this.applyDraggable();Event.observe(window,'resize',this.outOfBoundsPositionHandler);this.notify('afterInitialize')},open:function(c){if(this.isOpen){this.bringToFront();return false}if(this.notify('beforeOpen')===false)return false;if(this.options.toggle){Control.Window.windows.without(this).invoke('close')}if(this.options.closeOnClick){if(this.options.closeOnClick===true)this.closeOnClickContainer=$(document.body);else if(this.options.closeOnClick=='container')this.closeOnClickContainer=this.container;else if(this.options.closeOnClick=='overlay'){Control.Overlay.load();this.closeOnClickContainer=Control.Overlay.container}else this.closeOnClickContainer=$(this.options.closeOnClick);this.closeOnClickContainer.observe('click',this.closeHandler)}if(this.href&&!this.options.iframe&&!this.remoteContentLoaded){this.remoteContentLoaded=true;if(this.href.match(/\.(jpe?g|gif|png|tiff?)$/i)){var d=new Element('img');d.observe('load',function(a){this.getRemoteContentInsertionTarget().insert(a);this.position();if(this.notify('onRemoteContentLoaded')!==false){if(this.options.indicator)this.hideIndicator();this.finishOpen()}}.bind(this,d));d.writeAttribute('src',this.href)}else{if(!this.ajaxRequest){if(this.options.indicator)this.showIndicator();this.ajaxRequest=new Ajax.Request(this.href,{method:this.options.method,parameters:this.options.parameters,onComplete:function(a){this.notify('onComplete',a);this.ajaxRequest=false}.bind(this),onSuccess:function(a){this.getRemoteContentInsertionTarget().insert(a.responseText);this.notify('onSuccess',a);if(this.notify('onRemoteContentLoaded')!==false){if(this.options.indicator){this.hideIndicator()}this.finishOpen()}}.bind(this),onFailure:function(a){this.notify('onFailure',a);if(this.options.indicator)this.hideIndicator()}.bind(this),onException:function(a,b){this.notify('onException',a,b);if(this.options.indicator)this.hideIndicator()}.bind(this)})}}return true}else if(this.options.iframe&&!this.remoteContentLoaded){this.remoteContentLoaded=true;if(this.options.indicator)this.showIndicator();this.getRemoteContentInsertionTarget().insert(Control.Window.iframeTemplate.evaluate({href:this.href}));var f=this.container.down('iframe');f.onload=function(){this.notify('onRemoteContentLoaded');if(this.options.indicator)this.hideIndicator();f.onload=null}.bind(this)}this.finishOpen(c);return true},close:function(a){if(!this.isOpen||this.notify('beforeClose',a)===false)return false;if(this.options.closeOnClick)this.closeOnClickContainer.stopObserving('click',this.closeHandler);if(this.options.fade){this.effects.fade=new Effect.Fade(this.container,{queue:{position:'front',scope:'Control.Window'+this.numberInSequence},from:1,to:0,duration:this.options.fadeDuration/2,afterFinish:function(){if(this.iFrameShim)this.iFrameShim.hide();this.isOpen=false;this.notify('afterClose')}.bind(this)})}else{this.container.hide();if(this.iFrameShim)this.iFrameShim.hide()}if(this.ajaxRequest)this.ajaxRequest.transport.abort();if(!(this.options.draggable||this.options.resizable)&&this.options.position=='center')Event.stopObserving(window,'resize',this.positionHandler);if(!this.options.draggable&&this.options.position=='center')Event.stopObserving(window,'scroll',this.positionHandler);if(this.options.indicator)this.hideIndicator();if(!this.options.fade){this.isOpen=false;this.notify('afterClose')}return true},position:function(a){if(this.options.position=='mouse'&&a){var b=[Event.pointerX(a),Event.pointerY(a)];this.container.setStyle({top:b[1]+$value(this.options.offsetTop)+'px',left:b[0]+$value(this.options.offsetLeft)+'px'});return}var c=this.container.getDimensions();var d=document.viewport.getDimensions();Position.prepare();var f=(Position.deltaX+Math.floor((d.width-c.width)/2));var i=(Position.deltaY+((d.height>c.height)?Math.floor((d.height-c.height)/2):0));if(this.options.position=='center'){this.container.setStyle({top:(c.height<=d.height)?((i!=null&&i>0)?i:0)+'px':0,left:(c.width<=d.width)?((f!=null&&f>0)?f:0)+'px':0})}else if(this.options.position=='relative'){var b=this.sourceContainer.cumulativeOffset();var g=b[1]+$value(this.options.offsetTop);var j=b[0]+$value(this.options.offsetLeft);this.container.setStyle({top:(c.height<=d.height)?(this.options.constrainToViewport?Math.max(0,Math.min(d.height-(c.height),g)):g)+'px':0,left:(c.width<=d.width)?(this.options.constrainToViewport?Math.max(0,Math.min(d.width-(c.width),j)):j)+'px':0})}else if(this.options.position.length){var g=$value(this.options.position[1])+$value(this.options.offsetTop);var j=$value(this.options.position[0])+$value(this.options.offsetLeft);this.container.setStyle({top:(c.height<=d.height)?(this.options.constrainToViewport?Math.max(0,Math.min(d.height-(c.height),g)):g)+'px':0,left:(c.width<=d.width)?(this.options.constrainToViewport?Math.max(0,Math.min(d.width-(c.width),j)):j)+'px':0})}if(this.iFrameShim)this.updateIFrameShimZIndex()},ensureInBounds:function(){if(!this.isOpen)return;var a=document.viewport.getDimensions();var b=this.container.cumulativeOffset();var c=this.container.getDimensions();if(b.left+c.width>a.width){this.container.setStyle({left:(Math.max(0,a.width-c.width))+'px'})}if(b.top+c.height>a.height){this.container.setStyle({top:(Math.max(0,a.height-c.height))+'px'})}},bringToFront:function(){Control.Window.bringToFront(this);this.notify('bringToFront')},destroy:function(){this.container.stopObserving('mousedown',this.bringToFrontHandler);if(this.draggable){Resizables.removeObserver(this.container);this.draggable.handle.stopObserving('mousedown',this.bringToFrontHandler);this.draggable.destroy()}if(this.resizable){Resizables.removeObserver(this.container);this.resizable.handle.stopObserving('mousedown',this.bringToFrontHandler);this.resizable.destroy()}if(this.container&&!this.sourceContainer)this.container.remove();if(this.sourceContainer){if(this.options.hover){this.sourceContainer.stopObserving('mouseenter',this.sourceContainerOpenHandler);this.sourceContainer.stopObserving('mouseleave',this.sourceContainerCloseHandler);if(this.options.position=='mouse')this.sourceContainer.stopObserving('mousemove',this.sourceContainerMouseMoveHandler)}else this.sourceContainer.stopObserving('click',this.sourceContainerOpenHandler)}if(this.iFrameShim)this.iFrameShim.destroy();Event.stopObserving(window,'resize',this.outOfBoundsPositionHandler);Control.Window.windows=Control.Window.windows.without(this);this.notify('afterDestroy')},applyResizable:function(){if(this.options.resizable){if(typeof(Resizable)=='undefined')throw'Control.Window requires resizable.js to be loaded.';var b=null;if(this.options.resizable===true){b=new Element('div',{className:'resizable_handle'});this.container.insert(b)}else b=$(this.options.resziable);this.resizable=new Resizable(this.container,{handle:b,minHeight:this.options.minHeight,minWidth:this.options.minWidth,maxHeight:this.options.constrainToViewport?function(a){return(document.viewport.getDimensions().height-parseInt(a.style.top||0))-(a.getHeight()-parseInt(a.style.height||0))}:this.options.maxHeight,maxWidth:this.options.constrainToViewport?function(a){return(document.viewport.getDimensions().width-parseInt(a.style.left||0))-(a.getWidth()-parseInt(a.style.width||0))}:this.options.maxWidth});this.resizable.handle.observe('mousedown',this.bringToFrontHandler);Resizables.addObserver(new Control.Window.LayoutUpdateObserver(this,function(){if(this.iFrameShim)this.updateIFrameShimZIndex();this.notify('onResize')}.bind(this)))}},applyDraggable:function(){if(this.options.draggable){if(typeof(Draggables)=='undefined')throw'Control.Window requires dragdrop.js to be loaded.';var a=null;if(this.options.draggable===true){a=new Element('div',{className:'draggable_handle'});this.container.insert(a)}else a=$(this.options.draggable);this.draggable=new Draggable(this.container,{handle:a,constrainToViewport:this.options.constrainToViewport,zindex:this.container.getStyle('z-index'),starteffect:function(){if(Prototype.Browser.IE){this.old_onselectstart=document.onselectstart;document.onselectstart=function(){return false}}}.bind(this),endeffect:function(){document.onselectstart=this.old_onselectstart}.bind(this)});this.draggable.handle.observe('mousedown',this.bringToFrontHandler);Draggables.addObserver(new Control.Window.LayoutUpdateObserver(this,function(){if(this.iFrameShim)this.updateIFrameShimZIndex();this.notify('onDrag')}.bind(this)))}},createDefaultContainer:function(a){if(!this.container){this.container=new Element('div',{id:'control_window_'+this.numberInSequence});if($(a)&&(form=$(a).up('form'))){form.insert(this.container)}else{$(document.body).insert(this.container)}if(typeof(a)=='string'&&$(a)==null&&!a.match(/^#(.+)$/)&&!a.match(Control.Window.uriRegex))this.container.update(a)}},finishOpen:function(a){this.bringToFront();if(this.options.fade){if(typeof(Effect)=='undefined')throw'Control.Window requires effects.js to be loaded.';if(this.effects.fade)this.effects.fade.cancel();this.effects.appear=new Effect.Appear(this.container,{queue:{position:'end',scope:'Control.Window.'+this.numberInSequence},from:0,to:1,duration:this.options.fadeDuration/2,afterFinish:function(){if(this.iFrameShim)this.updateIFrameShimZIndex();this.isOpen=true;this.notify('afterOpen')}.bind(this)})}else this.container.show();if(!(this.options.draggable||this.options.resizable)&&this.options.position=='center')Event.observe(window,'resize',this.positionHandler,false);if(!this.options.draggable&&this.options.position=='center')Event.observe(window,'scroll',this.positionHandler,false);if(!this.options.fade){this.isOpen=true;this.notify('afterOpen')}this.position(a);return true},showIndicator:function(){this.showIndicatorTimeout=window.setTimeout(function(){if(this.options.fade){this.indicatorEffects.appear=new Effect.Appear(this.indicator,{queue:{position:'front',scope:'Control.Window.indicator.'+this.numberInSequence},from:0,to:1,duration:this.options.fadeDuration/2})}else this.indicator.show()}.bind(this),Control.Window.indicatorTimeout)},hideIndicator:function(){if(this.showIndicatorTimeout)window.clearTimeout(this.showIndicatorTimeout);this.indicator.hide()},getRemoteContentInsertionTarget:function(){return typeof(this.options.insertRemoteContentAt)=='string'?this.container.down(this.options.insertRemoteContentAt):$(this.options.insertRemoteContentAt)},updateIFrameShimZIndex:function(){if(this.iFrameShim)this.iFrameShim.positionUnder(this.container)}});Object.extend(Control.Window,{windows:[],baseZIndex:9999,indicatorTimeout:250,iframeTemplate:new Template('<iframe src="#{href}" width="100%" height="100%" frameborder="0"></iframe>'),uriRegex:/^(\/|\#|https?\:\/\/|[\w]+\/)/,bringToFront:function(d){Control.Window.windows=Control.Window.windows.without(d);Control.Window.windows.push(d);Control.Window.windows.each(function(a,b){var c=Control.Window.baseZIndex+b;a.container.setStyle({zIndex:c});if(a.isOpen){if(a.iFrameShim)a.updateIFrameShimZIndex()}if(a.options.draggable)a.draggable.options.zindex=c})},open:function(a,b){var c=new Control.Window(a,b);c.open();return c},initialZIndexForWindow:function(a){return Control.Window.baseZIndex+(Control.Window.windows.length-1)}});Object.Event.extend(Control.Window);Control.Window.LayoutUpdateObserver=Class.create({initialize:function(a,b){this.w=a;this.element=$(a.container);this.observer=b},onStart:Prototype.emptyFunction,onEnd:function(a,b){if(b.element==this.element&&this.iFrameShim)this.w.updateIFrameShimZIndex()},onResize:function(a,b){if(b.element==this.element)this.observer(this.element)},onDrag:function(a,b){if(b.element==this.element)this.observer(this.element)}});Control.Overlay={id:'control_overlay',loaded:false,container:false,lastOpacity:0,styles:{position:'fixed',top:0,left:0,width:'100%',height:'100%',zIndex:9998},ieStyles:{position:'absolute',top:0,left:0,zIndex:9998},effects:{fade:false,appear:false},load:function(){if(Control.Overlay.loaded)return false;Control.Overlay.loaded=true;Control.Overlay.container=new Element('div',{id:Control.Overlay.id});$(document.body).insert(Control.Overlay.container);if(Prototype.Browser.IE){Control.Overlay.container.setStyle(Control.Overlay.ieStyles);Event.observe(window,'scroll',Control.Overlay.positionOverlay);Event.observe(window,'resize',Control.Overlay.positionOverlay);Control.Overlay.observe('beforeShow',Control.Overlay.positionOverlay)}else Control.Overlay.container.setStyle(Control.Overlay.styles);Control.Overlay.iFrameShim=new IframeShim();Control.Overlay.iFrameShim.hide();Event.observe(window,'resize',Control.Overlay.positionIFrameShim);Control.Overlay.container.hide();return true},unload:function(){if(!Control.Overlay.loaded)return false;Event.stopObserving(window,'resize',Control.Overlay.positionOverlay);Control.Overlay.stopObserving('beforeShow',Control.Overlay.positionOverlay);Event.stopObserving(window,'resize',Control.Overlay.positionIFrameShim);Control.Overlay.iFrameShim.destroy();Control.Overlay.container.remove();Control.Overlay.loaded=false;return true},show:function(a,b){if(Control.Overlay.notify('beforeShow')===false)return false;Control.Overlay.lastOpacity=a;if(b){if(typeof(Effect)=='undefined')throw'Control.Window requires effects.js to be loaded.';if(Control.Overlay.effects.fade)Control.Overlay.effects.fade.cancel();Control.Overlay.effects.appear=new Effect.Appear(Control.Overlay.container,{queue:{position:'end',scope:'Control.Overlay'},afterFinish:function(){Control.Overlay.notify('afterShow')},from:0,to:Control.Overlay.lastOpacity,duration:(b===true?0.75:b)/2})}else{Control.Overlay.container.setStyle({opacity:a||1});Control.Overlay.container.show();Control.Overlay.notify('afterShow')}Control.Overlay.positionIFrameShim();Control.Overlay.iFrameShim.show();return true},hide:function(a){if(Control.Overlay.notify('beforeHide')===false)return false;if(Control.Overlay.effects.appear)Control.Overlay.effects.appear.cancel();Control.Overlay.iFrameShim.hide();if(a){Control.Overlay.effects.fade=new Effect.Fade(Control.Overlay.container,{queue:{position:'front',scope:'Control.Overlay'},afterFinish:function(){Control.Overlay.notify('afterHide')},from:Control.Overlay.lastOpacity,to:0,duration:(a===true?0.75:a)/2})}else{Control.Overlay.container.hide();Control.Overlay.notify('afterHide')}return true},positionIFrameShim:function(){if(Control.Overlay.container.visible())Control.Overlay.iFrameShim.positionUnder(Control.Overlay.container)},positionOverlay:function(){Control.Overlay.container.setStyle({width:document.body.clientWidth+'px',height:Math.max(document.documentElement.clientHeight,document.body.clientHeight)+'px'})}};Object.Event.extend(Control.Overlay);Control.ToolTip=Class.create(Control.Window,{initialize:function($super,a,b,c){$super(b,Object.extend(Object.extend(Object.clone(Control.ToolTip.defaultOptions),c||{}),{position:'mouse',hover:a}))}});Object.extend(Control.ToolTip,{defaultOptions:{offsetTop:20}});Control.Modal=Class.create(Control.Window,{initialize:function($super,a,b){Control.Modal.InstanceMethods.beforeInitialize.bind(this)();$super(a,Object.extend(Object.clone(Control.Modal.defaultOptions),b||{}))}});Object.extend(Control.Modal,{defaultOptions:{overlayOpacity:0.5,closeOnClick:'overlay'},current:false,open:function(a,b){var c=new Control.Modal(a,b);c.open();return c},close:function(){if(Control.Modal.current)Control.Modal.current.close()},InstanceMethods:{beforeInitialize:function(){Control.Overlay.load();this.overlayFinishedOpening=false;this.observe('beforeOpen',Control.Modal.Observers.beforeOpen.bind(this));this.observe('afterOpen',Control.Modal.Observers.afterOpen.bind(this));this.observe('afterClose',Control.Modal.Observers.afterClose.bind(this))}},Observers:{beforeOpen:function(){if(!this.overlayFinishedOpening){Control.Overlay.observeOnce('afterShow',function(){this.overlayFinishedOpening=true;this.open()}.bind(this));Control.Overlay.show(this.options.overlayOpacity,this.options.fade?this.options.fadeDuration:false);throw $break;}else Control.Window.windows.without(this).invoke('close')},afterOpen:function(){Control.Modal.current=this},afterClose:function(){Control.Overlay.hide(this.options.fade?this.options.fadeDuration:false);Control.Modal.current=false;this.overlayFinishedOpening=false}}});Control.LightBox=Class.create(Control.Window,{initialize:function($super,a,b){this.allImagesLoaded=false;if(b.modal){var b=Object.extend(Object.clone(Control.LightBox.defaultOptions),b||{});b=Object.extend(Object.clone(Control.Modal.defaultOptions),b);b=Control.Modal.InstanceMethods.beforeInitialize.bind(this)(b);$super(a,b)}else $super(a,Object.extend(Object.clone(Control.LightBox.defaultOptions),b||{}));this.hasRemoteContent=this.href&&!this.options.iframe;if(this.hasRemoteContent)this.observe('onRemoteContentLoaded',Control.LightBox.Observers.onRemoteContentLoaded.bind(this));else this.applyImageObservers();this.observe('beforeOpen',Control.LightBox.Observers.beforeOpen.bind(this))},applyImageObservers:function(){var c=this.getImages();this.numberImagesToLoad=c.length;this.numberofImagesLoaded=0;c.each(function(b){b.observe('load',function(a){++this.numberofImagesLoaded;if(this.numberImagesToLoad==this.numberofImagesLoaded){this.allImagesLoaded=true;this.onAllImagesLoaded()}}.bind(this,b));b.hide()}.bind(this))},onAllImagesLoaded:function(){this.getImages().each(function(a){this.showImage(a)}.bind(this));if(this.hasRemoteContent){if(this.options.indicator)this.hideIndicator();this.finishOpen()}else this.open()},getImages:function(){return this.container.select(Control.LightBox.imageSelector)},showImage:function(a){a.show()}});Object.extend(Control.LightBox,{imageSelector:'img',defaultOptions:{},Observers:{beforeOpen:function(){if(!this.hasRemoteContent&&!this.allImagesLoaded)throw $break;},onRemoteContentLoaded:function(){this.applyImageObservers();if(!this.allImagesLoaded)throw $break;}}});var at=at||{};at.bartelme=at.bartelme||{};at.bartelme.ticker=Class.create();at.bartelme.ticker.prototype={initialize:function(){this.container=$("ticker");if(this.container){this.messages=$A(this.container.getElementsByTagName("li"));this.last_message=this.messages.length-1;if(this.last_message<1){return false}this.interval=6000;this.current_message=0;this.previous_message=null;this.next=new Element('div',{'class':"next"});this.next.observe('click',this.showMessage.bind(this,1));this.previous=new Element('div',{'class':"previous"});this.previous.observe('click',this.showMessage.bind(this,-1));$('tickerHeading').insert({after:this.next}).insert({after:this.previous});this.hide=setTimeout(this.fadeMessage.bind(this),this.interval-1000);this.show=setTimeout(this.showMessage.bind(this,1),this.interval)}},showMessage:function(a){clearTimeout(this.hide);if(this.messages[this.current_message]){$(this.messages[this.current_message]).hide()}clearTimeout(this.show);if(a>0){if(this.current_message<this.last_message){this.current_message++}else{this.current_message=0}}else if(this.current_message>0){this.current_message--}else{this.current_message=this.last_message}Effect.Appear(this.messages[this.current_message]);this.hide=setTimeout(this.fadeMessage.bind(this),this.interval-1000);this.show=setTimeout(this.showMessage.bind(this,1),this.interval)},fadeMessage:function(){Effect.Fade(this.messages[this.current_message])}};Event.observe(document,"dom:loaded",function(){return new at.bartelme.ticker()},false);var translationMode=window.location.search.match(/translate=true/);var locale=window.location.pathname.match(/\/(\w+)/)[1];var translations={close:{ar:'إغلاق',en:'Close',es:'Cerrar',fr:'Fermer',ru:'Закрыть',zh:'关闭'},countries:{ar:'البلدان',en:'countries',es:'países',fr:'pays',ru:'страны',zh:'国家'},currently_selected:{ar:'المحدد حاليا:',en:'Currently selected:',es:'Seleccionado actualmente:',fr:'Actuellement sélectionné:',ru:'В настоящее время выбрали:',zh:'目前选定的：'}};var t=function(a){return translations[a][locale]};var navigate=function(a){window.location=a};var window_load=function(){var c=this.sourceContainer.next('input[type=hidden]');c.value.split(',').each(function(a){var b=$(c.id+a);if(b){b.checked=true}});c.value='';this.container.down('.window_done').observe('click',this.closeHandler)};var window_list=function(){var f=this.sourceContainer.next('div');if(f){var i='<b>'+t('currently_selected')+'</b> ';var g=[];var j=this.container.down('.window_contents');if(f.id=='country_ids'){j.childElements().each(function(b){var c=0;var d=b.getElementsByTagName('input');$A(d).map(Element.extend).each(function(a){if(a.checked){c++}});if(c>0){g.push(b.down('label').innerHTML+' ('+c+' '+t('countries')+')')}})}else{var m=j.getElementsByTagName('input');$A(m).each(function(a){if(a.checked){Element.extend(a);g.push(a.up().next().firstDescendant().innerHTML)}})}f.update((g.length>0)?i+g.sort().join('; '):'')}};Event.observe(document,'dom:loaded',function(d){$$('.hide').each(function(a){a.hide()});if(!translationMode){$$('.ajaxWindow').each(function(a){var b=new Control.Modal(a,{iframeshim:false,method:'get',className:'modal',overlayOpacity:0.65});var c=new Element('div',{className:'window_close'}).update(t('close'));c.observe('click',b.closeHandler);b.container.insert({top:c})});$$('.lightWindow').each(function(a){a.href=a.rel;var b=new Control.Modal(a,{iframeshim:false,method:'get',className:'modal',overlayOpacity:0.65});b.observe('onSuccess',window_load.bindAsEventListener(b));b.observe('afterClose',window_list.bindAsEventListener(b))});$$('.info').each(function(a){var b=new Control.Window(a,{method:'get',className:'tip',toggle:true,closeOnClick:true,position:'mouse',offsetTop:20});var c=new Element('div',{className:'window_close'}).update(t('close'));c.observe('click',b.closeHandler);b.container.insert({top:c})});$$('.tooltip-list').each(function(a){var b=new Control.Window(a,{className:'tip',toggle:true,closeOnClick:true,position:'mouse',offsetTop:20})})}});Object.extend(Event,(function(){var h={};return{delegate:function(i,g){if(arguments[3]){var j={};j[arguments[2]]=arguments[3]}else{var j=Object.extend({},arguments[2])}var m=$(i),l=g,k=m.identify?m.identify():'document';if(!h[k]){h[k]={'$observer':function(a){var b=a.element();if(h[k][a.type])for(var c=0,d=h[k][a.type].length;c<d;c++)for(var f in h[k][a.type][c])if(h[k][a.type][c][f][1].match(b))h[k][a.type][c][f][0](a)}}}if(!h[k][l]){h[k][l]=[];m.observe(l,h[k]['$observer'])}for(var n in j)j[n]=[j[n],new Selector(n)];h[k][l].push(j);return m},stopDelegating:function(a,b){if(a===undefined){for(var c in h)Event.stopDelegating(c=='$document'?document:c);h={};return true}if(Object.isString(arguments[2])){var d={};d[arguments[2]]=true}else if(arguments[2]){var d=arguments[2]}else{var d=false}var f=$(a),i=b,c=f.identify?f.identify():'$document';if(h[c]){if(i&&h[c][i]){for(var g=0,j=h[c][i].length;g<j;g++){if(d){for(var m in d)delete h[c][i][g][m]}if(!d||$H(h[c][i][g]).any()==false){f.stopObserving(i,h[c]['$observer']);h[c][i][g]='r'}}h[c][i]=h[c][i].without('r')}else{for(var l in h[c])if(l!='$observer')f.stopObserving(l,h[c]['$observer']);delete h[c]}}return f}}})());Element.addMethods({delegate:Event.delegate,stopDelegating:Event.stopDelegating});document.delegate=Event.delegate.curry(document);document.stopDelegating=Event.stopDelegating.curry(document);Event.observe(window,'unload',Event.stopDelegating);var uploadQueue=0;var submitPending=false;var delaySubmit=function(a){if(uploadQueue>0){submitPending=true;a.stop()}};var checkSubmit=function(a){--uploadQueue;if(submitPending&&uploadQueue===0){a.form.submit()}};var cancelSubmit=function(){--uploadQueue;submitPending=false};var renameFile=function(a){var b=a.readAttribute('rename');a.writeAttribute('rename',a.name);a.name=b};var parseFileID=function(a){return/\d+/.exec(a)[0]};var uploadResponse=function(a,b,c){var d=$(a);var f=d.down('input');var i=d.down('.error');d.down('.spinner').hide();if(b!==''){d.removeClassName('highlight');i.update();f.next().value=b;f.insert({after:'&nbsp;'+c});checkSubmit(f)}else{d.addClassName('highlight');i.update(c);var g=$('form'+parseFileID(a));var j=g.down('input[type=file]');renameFile(j);f.insert({after:j});cancelSubmit()}};var fileChange=function(a){if(a.value){uploadQueue++;a.next('.spinner').show();var b=parseFileID(a.id);var c=a.readAttribute('action')+'?index='+b;renameFile(a);var d=$('form'+b);if(d){d.insert(a)}else{var f=$$('[name=authenticity_token]')[0].cloneNode(true);document.body.insert(new Element('form',{id:'form'+b,target:'frame'+b,action:c,style:'display:none',method:'post',enctype:'multipart/form-data',encoding:'multipart/form-data'}).update(f).insert(a));document.body.insert(new Element('iframe',{id:'frame'+b,name:'frame'+b,src:'about:blank'}))}a.form.submit()}};var replaceIDs=function(a){return a.gsub(/NEW_RECORD/,new Date().getTime())};var click={'.add':function(a){var b=a.element();var c=$(b.rel);var d=b.href.replace(/.*#/,'');if(!c.visible()){c.show();if(fields[d]>0){return}}var f=templates[d];c.insert({bottom:replaceIDs(f)});++fields[d]},'.remove':function(a){var b=a.element();var c=b.href.replace(/.*#/,'');var d=b.up('.'+c);--fields[c];if(fields[c]===0){b.up('.fileForm').hide()}var f=b.previous("input[type=hidden]");if(f){f.value='1';d.hide()}else{d.remove()}}};Event.observe(document,'dom:loaded',function(){document.delegate('click',click)});var clear=function(a){var b=Event.element(a);if(b.title===b.value){b.value='';b.removeClassName('fade')}};var unclear=function(a){var b=Event.element(a);if(b.value===''){b.value=b.title;b.addClassName('fade')}};Event.observe(document,'dom:loaded',function(b){$$('.searchTerm').each(function(a){a.onfocus=clear;a.onblur=unclear});$$('.inputStyle03').each(function(a){a.onfocus=clear;a.onblur=unclear})});toggleEditPreview=function(a,b,c){editor=$(a);preview=$(b);preview_button=$(c);if(editor.classNames().include('hidden')){editor.removeClassName('hidden');preview.addClassName('hidden');preview_button.innerHTML="Preview"}else{preview.removeClassName('hidden');editor.addClassName('hidden');preview_button.innerHTML="Editor"}};Event.observe(document,'dom:loaded',function(c){$$('.cashBoxInner').each(function(a){var b=new Control.Window(a,{method:'get',className:'tip',hover:true,position:'mouse',offsetTop:20})})});var removeNeed=function(a){a=$(a);if(a.up().siblings().length>1){a.up().remove()}else{var b=a.up().up();b.remove()}};Event.observe(document,'dom:loaded',function(){$$('#request_referral form input#proposal_submit').each(function(d){var d=$(d);d.observe('click',function(a){var b=$('proposal_agree_to_terminate').checked;if(b){d.previous().removeClassName('highlight');d.form.submit()}else{d.previous().addClassName('highlight');var c=$$('label[for=proposal_agree_to_terminate]')[0];if(c.select('strong').length===0){c.insert(new Element('strong').update(' (must be checked)'))}}a.stop()})})});Event.observe(document,'dom:loaded',function(){['proposal_unavailable_reasons_2','proposal_unavailable_reasons_3','proposal_unavailable_reasons_4'].each(function(c){var c=$(c);if(c){c.observe('click',function(b){$$('.unPartners input').each(function(a){a.checked=false})})}});$$('.unPartners input').each(function(b){var b=$(b);b.observe('click',function(a){$('proposal_unavailable_reasons_1').checked=true})})});