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(a){a._objectEventSetup=function(b){this._observers=this._observers||{};
this._observers[b]=this._observers[b]||[]
};
a.observe=function(d,b){if(typeof(d)=="string"&&typeof(b)!="undefined"){this._objectEventSetup(d);
if(!this._observers[d].include(b)){this._observers[d].push(b)
}}else{for(var c in d){this.observe(c,d[c])
}}};
a.stopObserving=function(c,b){this._objectEventSetup(c);
if(c&&b){this._observers[c]=this._observers[c].without(b)
}else{if(c){this._observers[c]=[]
}else{this._observers={}
}}};
a.observeOnce=function(d,c){var b=function(){c.apply(this,arguments);
this.stopObserving(d,b)
}.bind(this);
this._objectEventSetup(d);
this._observers[d].push(b)
};
a.notify=function(g){this._objectEventSetup(g);
var d=[];
var b=$A(arguments).slice(1);
try{for(var c=0;
c<this._observers[g].length;
++c){d.push(this._observers[g][c].apply(this._observers[g][c],b)||null)
}}catch(f){if(f==$break){return false
}else{throw f
}}return d
};
if(a.prototype){a.prototype._objectEventSetup=a._objectEventSetup;
a.prototype.observe=a.observe;
a.prototype.stopObserving=a.stopObserving;
a.prototype.observeOnce=a.observeOnce;
a.prototype.notify=function(g){if(a.notify){var b=$A(arguments).slice(1);
b.unshift(this);
b.unshift(g);
a.notify.apply(a,b)
}this._objectEventSetup(g);
var b=$A(arguments).slice(1);
var d=[];
try{if(this.options&&this.options[g]&&typeof(this.options[g])=="function"){d.push(this.options[g].apply(this,b)||null)
}for(var c=0;
c<this._observers[g].length;
++c){d.push(this._observers[g][c].apply(this._observers[g][c],b)||null)
}}catch(f){if(f==$break){return false
}else{throw f
}}return d
}
}}};
Element.addMethods({observeOnce:function(c,d,b){var a=function(){b.apply(this,arguments);
Element.stopObserving(c,d,a)
};
Element.observe(c,d,a)
}});
Object.extend(Event,(function(){var b=Event.cache;
function c(j){if(j._prototypeEventID){return j._prototypeEventID[0]
}arguments.callee.id=arguments.callee.id||1;
return j._prototypeEventID=[++arguments.callee.id]
}function g(j){if(j&&j.include(":")){return"dataavailable"
}if(!Prototype.Browser.IE){j={mouseenter:"mouseover",mouseleave:"mouseout"}[j]||j
}return j
}function a(j){return b[j]=b[j]||{}
}function f(l,j){var k=a(l);
return k[j]=k[j]||[]
}function h(k,j,l){var o=c(k);
var n=f(o,j);
if(n.pluck("handler").include(l)){return false
}var m=function(p){if(!Event||!Event.extend||(p.eventName&&p.eventName!=j)){return false
}Event.extend(p);
l.call(k,p)
};
if(!(Prototype.Browser.IE)&&["mouseenter","mouseleave"].include(j)){m=m.wrap(function(r,q){var p=q.relatedTarget;
var s=q.currentTarget;
if(p&&p.nodeType==Node.TEXT_NODE){p=p.parentNode
}if(p&&p!=s&&!p.descendantOf(s)){return r(q)
}})
}m.handler=l;
n.push(m);
return m
}function i(m,j,k){var l=f(m,j);
return l.find(function(n){return n.handler==k
})
}function d(m,j,k){var l=a(m);
if(!l[j]){return false
}l[j]=l[j].without(i(m,j,k))
}function e(){for(var k in b){for(var j in b[k]){b[k][j]=null
}}}if(window.attachEvent){window.attachEvent("onunload",e)
}return{observe:function(l,j,m){l=$(l);
var k=g(j);
var n=h(l,j,m);
if(!n){return l
}if(l.addEventListener){l.addEventListener(k,n,false)
}else{l.attachEvent("on"+k,n)
}return l
},stopObserving:function(l,j,m){l=$(l);
var o=c(l),k=g(j);
if(!m&&j){f(o,j).each(function(p){l.stopObserving(j,p.handler)
});
return l
}else{if(!j){Object.keys(a(o)).each(function(p){Event.stopObserving(l,p)
});
return l
}}var n=i(o,j,m);
if(!n){return l
}if(l.removeEventListener){l.removeEventListener(k,n,false)
}else{l.detachEvent("on"+k,n)
}d(o,j,m);
return l
},fire:function(l,k,j){l=$(l);
if(l==document&&document.createEvent&&!l.dispatchEvent){l=document.documentElement
}var m;
if(document.createEvent){m=document.createEvent("HTMLEvents");
m.initEvent("dataavailable",true,true)
}else{m=document.createEventObject();
m.eventType="ondataavailable"
}m.eventName=k;
m.memo=j||{};
if(document.createEvent){l.dispatchEvent(m)
}else{l.fireEvent(m.eventType,m)
}return Event.extend(m)
}}
})());
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 a(d){var e;
if(d.wheelDelta){e=d.wheelDelta/120
}else{if(d.detail){e=-d.detail/3
}}if(!e){return
}var c=Event.element(d);
var b=c.fire("mouse:wheel",{delta:e});
if(b.stopped){Event.stop(d);
return false
}}document.observe("mousewheel",a);
document.observe("DOMMouseScroll",a)
})();
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 c=a.cumulativeOffset();
var b=a.getDimensions();
this.element.setStyle({left:c[0]+"px",top:c[1]+"px",width:b.width+"px",height:b.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(j){var i=Position.cumulativeOffset(this.element);
if(this.options.ghosting){var a=Position.realOffset(this.element);
i[0]+=a[0]-Position.deltaX;
i[1]+=a[1]-Position.deltaY
}var h=this.currentDelta();
i[0]-=h[0];
i[1]-=h[1];
if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){i[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;
i[1]-=this.options.scroll.scrollTop-this.originalScrollTop
}var c=[0,1].map(function(d){return(j[d]-i[d]-this.offset[d])
}.bind(this));
if(this.options.snap){if(typeof this.options.snap=="function"){c=this.options.snap(c[0],c[1],this)
}else{if(this.options.snap instanceof Array){c=c.map(function(d,m){return Math.round(d/this.options.snap[m])*this.options.snap[m]
}.bind(this))
}else{c=c.map(function(d){return Math.round(d/this.options.snap)*this.options.snap
}.bind(this))
}}}if(this.options.onDraw){this.options.onDraw.bind(this)(c)
}else{var b=this.element.style;
if(this.options.constrainToViewport){var l=document.viewport.getDimensions();
var f=this.element.getDimensions();
var g=parseInt(this.element.getStyle("margin-top"));
var k=parseInt(this.element.getStyle("margin-left"));
var e=[[0-k,0-g],[(l.width-f.width)-k,(l.height-f.height)-g]];
if((!this.options.constraint)||(this.options.constraint=="horizontal")){if((c[0]>=e[0][0])&&(c[0]<=e[1][0])){this.element.style.left=c[0]+"px"
}else{this.element.style.left=((c[0]<e[0][0])?e[0][0]:e[1][0])+"px"
}}if((!this.options.constraint)||(this.options.constraint=="vertical")){if((c[1]>=e[0][1])&&(c[1]<=e[1][1])){this.element.style.top=c[1]+"px"
}else{this.element.style.top=((c[1]<=e[0][1])?e[0][1]:e[1][1])+"px"
}}}else{if((!this.options.constraint)||(this.options.constraint=="horizontal")){b.left=c[0]+"px"
}if((!this.options.constraint)||(this.options.constraint=="vertical")){b.top=c[1]+"px"
}}if(b.visibility=="hidden"){b.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 a=this.href.match(/^#(.+)$/);
if(a&&a[1]){this.container=$(a[1]);
this.href=false
}else{this.container=false
}}this.sourceContainerOpenHandler=function(e){this.open(e);
e.stop();
return false
}.bindAsEventListener(this);
this.sourceContainerCloseHandler=function(e){this.close(e)
}.bindAsEventListener(this);
this.sourceContainerMouseMoveHandler=function(e){this.position(e)
}.bindAsEventListener(this);
if(this.options.hover){this.sourceContainer.observe("mouseenter",this.sourceContainerOpenHandler);
this.sourceContainer.observe("mouseleave",this.sourceContainerCloseHandler);
if(this.options.position=="mouse"){this.sourceContainer.observe("mousemove",this.sourceContainerMouseMoveHandler)
}}else{this.sourceContainer.observe("click",this.sourceContainerOpenHandler)
}}}}this.createDefaultContainer(b);
if(this.options.insertRemoteContentAt===false){this.options.insertRemoteContentAt=this.container
}var d={margin:0,position:"absolute",zIndex:Control.Window.initialZIndexForWindow()};
if(this.options.width){d.width=$value(this.options.width)+"px"
}if(this.options.height){d.height=$value(this.options.height)+"px"
}this.container.setStyle(d);
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.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 a=new Element("img");
a.observe("load",function(d){this.getRemoteContentInsertionTarget().insert(d);
this.position();
if(this.notify("onRemoteContentLoaded")!==false){if(this.options.indicator){this.hideIndicator()
}this.finishOpen()
}}.bind(this,a));
a.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(d){this.notify("onComplete",d);
this.ajaxRequest=false
}.bind(this),onSuccess:function(d){this.getRemoteContentInsertionTarget().insert(d.responseText);
this.notify("onSuccess",d);
if(this.notify("onRemoteContentLoaded")!==false){if(this.options.indicator){this.hideIndicator()
}this.finishOpen()
}}.bind(this),onFailure:function(d){this.notify("onFailure",d);
if(this.options.indicator){this.hideIndicator()
}}.bind(this),onException:function(d,f){this.notify("onException",d,f);
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 b=this.container.down("iframe");
b.onload=function(){this.notify("onRemoteContentLoaded");
if(this.options.indicator){this.hideIndicator()
}b.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(d){if(this.options.position=="mouse"){var g=[Event.pointerX(d),Event.pointerY(d)];
this.container.setStyle({top:g[1]+$value(this.options.offsetTop)+"px",left:g[0]+$value(this.options.offsetLeft)+"px"});
return
}var h=this.container.getDimensions();
var c=document.viewport.getDimensions();
Position.prepare();
var b=(Position.deltaX+Math.floor((c.width-h.width)/2));
var a=(Position.deltaY+((c.height>h.height)?Math.floor((c.height-h.height)/2):0));
if(this.options.position=="center"){this.container.setStyle({top:(h.height<=c.height)?((a!=null&&a>0)?a:0)+"px":0,left:(h.width<=c.width)?((b!=null&&b>0)?b:0)+"px":0})
}else{if(this.options.position=="relative"){var g=this.sourceContainer.cumulativeOffset();
var f=g[1]+$value(this.options.offsetTop);
var e=g[0]+$value(this.options.offsetLeft);
this.container.setStyle({top:(h.height<=c.height)?(this.options.constrainToViewport?Math.max(0,Math.min(c.height-(h.height),f)):f)+"px":0,left:(h.width<=c.width)?(this.options.constrainToViewport?Math.max(0,Math.min(c.width-(h.width),e)):e)+"px":0})
}else{if(this.options.position.length){var f=$value(this.options.position[1])+$value(this.options.offsetTop);
var e=$value(this.options.position[0])+$value(this.options.offsetLeft);
this.container.setStyle({top:(h.height<=c.height)?(this.options.constrainToViewport?Math.max(0,Math.min(c.height-(h.height),f)):f)+"px":0,left:(h.width<=c.width)?(this.options.constrainToViewport?Math.max(0,Math.min(c.width-(h.width),e)):e)+"px":0})
}}}if(this.iFrameShim){this.updateIFrameShimZIndex()
}},ensureInBounds:function(){if(!this.isOpen){return
}var a=document.viewport.getDimensions();
var c=this.container.cumulativeOffset();
var b=this.container.getDimensions();
if(c.left+b.width>a.width){this.container.setStyle({left:(Math.max(0,a.width-b.width))+"px"})
}if(c.top+b.height>a.height){this.container.setStyle({top:(Math.max(0,a.height-b.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 a=null;
if(this.options.resizable===true){a=new Element("div",{className:"resizable_handle"});
this.container.insert(a)
}else{a=$(this.options.resziable)
}this.resizable=new Resizable(this.container,{handle:a,minHeight:this.options.minHeight,minWidth:this.options.minWidth,maxHeight:this.options.constrainToViewport?function(b){return(document.viewport.getDimensions().height-parseInt(b.style.top||0))-(b.getHeight()-parseInt(b.style.height||0))
}:this.options.maxHeight,maxWidth:this.options.constrainToViewport?function(b){return(document.viewport.getDimensions().width-parseInt(b.style.left||0))-(b.getWidth()-parseInt(b.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});
$(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()
}this.position(a);
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")
}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(a){Control.Window.windows=Control.Window.windows.without(a);
Control.Window.windows.push(a);
Control.Window.windows.each(function(c,d){var b=Control.Window.baseZIndex+d;
c.container.setStyle({zIndex:b});
if(c.isOpen){if(c.iFrameShim){c.updateIFrameShimZIndex()
}}if(c.options.draggable){c.draggable.options.zindex=b
}})
},open:function(b,c){var a=new Control.Window(b,c);
a.open();
return a
},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(b,a){if(a.element==this.element&&this.iFrameShim){this.w.updateIFrameShimZIndex()
}},onResize:function(b,a){if(a.element==this.element){this.observer(this.element)
}},onDrag:function(b,a){if(a.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;
Control.Overlay.positionIFrameShim();
Control.Overlay.iFrameShim.show();
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")
}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:document.body.clientHeight+"px"})
}};
Object.Event.extend(Control.Overlay);
Control.ToolTip=Class.create(Control.Window,{initialize:function($super,a,c,b){$super(c,Object.extend(Object.extend(Object.clone(Control.ToolTip.defaultOptions),b||{}),{position:"mouse",hover:a}))
}});
Object.extend(Control.ToolTip,{defaultOptions:{offsetLeft:10}});
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 a=this.getImages();
this.numberImagesToLoad=a.length;
this.numberofImagesLoaded=0;
a.each(function(b){b.observe("load",function(c){++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
}}}});if(typeof(mobile)=="undefined"){var mobile={}
}mobile.FeatureActionController=new Class.create({_options:null,_responseCodes:{1:"AJAX_RESULT_SUCCESS",2:"AJAX_RESULT_ERROR",3:"AJAX_RESULT_TAN_REQUIRED",4:"AJAX_RESULT_FINANCING_DATA_REQUIRED"},initialize:function(a){this._options=Object.extend({handleSuccess:Prototype.emptyFunction,handleTan:Prototype.emptyFunction,handleError:Prototype.emptyFunction,handleLoading:Prototype.emptyFunction,handleFinancing:Prototype.emptyFunction,actionParam:{Reserve:{set:"reserve",remove:"unreserve"},Visibility:{set:"visibilityClosed",remove:"visibilityPublic"},SetHomepage:{set:"setHomepageFeature",remove:"removeHomepageFeature"},EyeCatcher:{set:"setEyeCatcher",remove:"removeEyeCatcher"},TopCategory:{set:"setTopInCategory",remove:"removeTopInCategory"},UploadSticky:{set:"setUploadSticky",remove:"removeUploadSticky"},ExportOnly:{set:"setForExportOnly",remove:"removeForExportOnly"},FinancingFeature:{set:"setFinancingFeature",remove:"removeFinancingFeature"},RenewAd:{set:"renew",remove:"renew"}}},a)
},sendRequest:function(a,b){new Ajax.Request(a,{evalJSON:true,requestHeaders:{Accept:"application/json"},method:"post",parameters:{t:new Date().getTime()},onCreate:function(c){this._options.handleLoading(c)
}.bind(this,b),onComplete:function(d,c){switch(this._responseCodes[c.responseJSON.responseId]){case"AJAX_RESULT_SUCCESS":this._options.handleSuccess(d,c);
break;
case"AJAX_RESULT_TAN_REQUIRED":this.openTanRequest(d,c);
break;
case"AJAX_RESULT_ERROR":this._options.handleError(d,c);
break;
case"AJAX_RESULT_FINANCING_DATA_REQUIRED":this._options.handleFinancing(d,c);
break;
default:this._options.handleError(d,c)
}}.bind(this,b),onFailure:function(c){this._options.handleError(b,c)
}.bind(this,b)})
},setReverseAction:function(c){var b=c.href.split("?")[0];
var a=c.href.toQueryParams();
if(c.className.indexOf("-off")!=-1){this.setElementStatus(c,"on");
a.action=this._options.actionParam[c.rel].remove
}else{this.setElementStatus(c,"off");
a.action=this._options.actionParam[c.rel].set
}c.href=b+"?"+$H(a).toQueryString()
},setElementStatus:function(target,state){if(state=="on"){target.className=target.className.split("-off")[0];
target.title=eval("mobile.PageParams.messageFeature."+target.rel+"Alt_On")
}else{target.className=target.className+"-off";
target.title=eval("mobile.PageParams.messageFeature."+target.rel+"Alt_Off")
}},openTanRequest:function(c,b){if(typeof(b.responseJSON.tanService)!="undefined"){if(typeof(a)=="undefined"){var a=mobile.lightbox(mobile.PageParams.casTanRequestUrl+b.responseJSON.tanService,{className:"tan-request",iframe:true})
}a.open()
}}});if(typeof(mobile)=="undefined"){var mobile={}
}Object.extend(Control.Modal.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.Overlay.positionIFrameShim();
Control.Window.windows.without(this).invoke("close");
if(!mobile.loadingLightbox){mobile.loadingLightbox=mobile.lightboxLoading()
}mobile.loadingLightbox.open()
}},afterOpen:function(){Control.Modal.current=this;
if(mobile.loadingLightbox&&mobile.loadingLightbox.isOpen){mobile.loadingLightbox.close()
}}});
mobile.lightbox=function(c,d){var h=d||{};
if(typeof(d)!="undefined"){h.className="mobile-lightbox"+((typeof(d.className)!="undefined")?" "+d.className:"")
}else{h.className="mobile-lightbox"
}var b=new Element("div",{className:"window-header"});
var g=new Element("h3",{className:"window-title"});
if(d.window_title){g.update(d.window_title)
}else{if(c&&typeof(c.nodeType)!="undefined"&&c.nodeType==Node.ELEMENT_NODE&&c.hasAttribute("title")){g.update(c.readAttribute("title"))
}}var f=new Element("a",{className:"window-close"});
f.update(mobile.Translation.close);
var e=new Element("div",{className:"window-contents"});
if(d.wrapContent){e.insert(c.innerHTML);
c.innerHTML=""
}var a=new Control.Modal(c,Object.extend({closeOnClick:f,insertRemoteContentAt:e,overlayOpacity:0.8,iframeshim:false,appear:true,method:"get"},h||{}));
a.container.insert(b);
b.insert(g);
b.insert(f);
a.container.insert(e);
return a
};
mobile.lightboxPlain=function(b,c){var e=c||{};
if(typeof(c)!="undefined"){e.className="mobile-lightbox-plain"+((typeof(c.className)!="undefined")?" "+c.className:"")
}else{e.className="mobile-lightbox-plain"
}var d=new Element("div",{className:"window-contents"});
var a=new Control.Modal(b,Object.extend({insertRemoteContentAt:d,overlayOpacity:0.8,appear:true,method:"get"},e||{}));
a.container.insert(d);
return a
};
mobile.lightboxLoading=function(b,c){var d=c||{};
d.className="loading-lightbox";
var e=new Element("div",{className:"loading"});
e.innerHTML='<img alt="" src="'+mobile.PageParams.imagePath+'loading_big.gif"/>';
var a=new Control.Window(b,Object.extend({appear:true},d||{}));
a.container.insert(e);
return a
};if(typeof(mobile)=="undefined"){var mobile={}
}mobile.QueuedUploader=Class.create({_form:null,_options:null,_iframe:null,_hiddenForm:null,_fileInputs:null,_currentFileInput:null,initialize:function(b,a){this._form=$(b);
this._options=Object.extend({inputElementsSelector:"input, select",action:this._form.getAttribute("action"),preSubmitAction:null,postSubmitAction:null,submitFailedAction:null,uploadStartedAction:null,uploadFinishedAction:null},a);
this._setupHandlers()
},_setupHandlers:function(){this._form.observe("submit",this._formSubmitHandler.bind(this))
},_formSubmitHandler:function(c){c.stop();
var b=this._form.select(this._options.inputElementsSelector).partition(function(d){return d.type.toLowerCase()=="file"
});
var a=b.first().findAll(function(d){return d.value!=""
});
if(Prototype.Browser.WebKit||Prototype.Browser.MobileSafari){a.each(function(d){d.replace(d.cloneNode(false))
});
this._fileInputs=a
}else{if(!Prototype.Browser.IE){this._fileInputs=a.invoke("cloneNode",false)
}else{a.each(function(d){d.replaceNode(d.cloneNode(false))
});
this._fileInputs=a
}}if(this._fileInputs.size()>0){(this._options.uploadStartedAction||Prototype.emptyFunction)(this._fileInputs);
if(!this._iframe){this._iframe=this._createTargetIframe();
this._iframe.observe.bind(this._iframe,"load",this._iframeLoadedHandler.bind(this)).defer()
}if(!this._hiddenForm){this._hiddenForm=this._createHiddenForm()
}else{this._hiddenForm.update("")
}this._hiddenForm.setAttribute("action",this._options.action);
this._hiddenForm.target=mobile.QueuedUploader._HIDDEN_IFRAME_NAME;
b.last().each(function(d){this._hiddenForm.insert({bottom:d.cloneNode(false)})
},this);
this._uploadFile.bind(this).defer()
}else{}},_uploadFile:function(){if(this._currentFileInput){(this._options.postSubmitAction||Prototype.emptyFunction)(this._currentFileInput,this._fileInputs);
this._currentFileInput.remove();
this._currentFileInput=null
}if(this._fileInputs.first()){this._currentFileInput=this._fileInputs.shift();
this._hiddenForm.insert({bottom:this._currentFileInput});
if(!this._options.preSubmitAction||this._options.preSubmitAction(this._currentFileInput,this._fileInputs)){this._hiddenForm.submit()
}}else{(this._options.uploadFinishedAction||Prototype.emptyFunction)()
}},_iframeLoadedHandler:function(){var a=Prototype.Browser.IE?document.frames(this._iframe.name).document.body.innerHTML:this._iframe.contentDocument.body.innerHTML;
if(a!="OK"){if(this._options.submitFailedAction&&!this._options.submitFailedAction(this._currentFileInput,this._fileInputs)){return false
}}this._uploadFile()
},_createTargetIframe:function(){var a=new Element("iframe",{name:mobile.QueuedUploader._HIDDEN_IFRAME_NAME,style:"display: none",src:"javascript:void(0);"});
document.body.insert({bottom:a});
return a
},_createHiddenForm:function(){var a=this._form.cloneNode(false);
a.setStyle({display:"none"});
a.id=mobile.QueuedUploader._HIDDEN_FORM_ID;
document.body.insert({bottom:a});
return a
}});
Object.extend(mobile.QueuedUploader,{_HIDDEN_IFRAME_NAME:"_hiddenTargetIframe",_HIDDEN_FORM_ID:"_hiddenFormId"});if(typeof(mobile)=="undefined"){var mobile={}
}mobile.TabController=Class.create({_options:null,initialize:function(b,a){this._options=Object.extend({onChange:Prototype.emptyFunction,getContentWrapper:Prototype.emptyFunction},a);
document.observe("click",function(c){var d=c.element();
if(d.hasClassName(b)){c.stop();
this.changeTab(d)
}}.bind(this))
},changeTab:function(c){var a=this._getActiveTab(c);
if(a==c){return false
}var b=this._getActiveContent(a);
a.up("li").removeClassName("active");
b.hide();
c.parentNode.addClassName("active");
c.blur();
this._getContent(c);
this._options.onChange(c)
},_getContent:function(d){var c=$(d.rel);
if(c){c.mobile_toggle()
}else{var a=this._options.getContentWrapper(d);
if(a){var b=this._createLoadingDiv(a);
new Ajax.Updater({success:a},d.href,{insertion:Insertion.Bottom,method:"get",evalScripts:true,onFailure:function(e){location.reload()
},onComplete:function(e){b.hide();
$(d.rel).mobile_toggle()
}})
}}},_getActiveTab:function(a){return a.up("ul").down("li.active a")
},_getActiveContent:function(a){return $(a.rel)
},_createLoadingDiv:function(a){var b=new Element("div",{className:"loading"});
b.innerHTML='<img alt="" src="'+mobile.PageParams.imagePath+'loading_big.gif"/>';
a.insert({bottom:b});
return b
}});document.observe("mobile:ready",function(){mobile.observe(".toggleBox .box-header","click",function(b,a){var c=a.up(".toggleBox");
b.element().blur();
c.toggleClassName("hidden")
},{allowNested:true})
});if(typeof(mobile)=="undefined"){var mobile={}
}mobile.UploadStatus=Class.create({_lightbox:null,_content:null,_currentFileIndex:-1,_fileNames:null,_fileNameElements:null,initialize:function(b,a){this._lightbox=b;
this._options=Object.extend({okClickedAction:null},a)
},startUpload:function(a){this._fileNames=(a||[]).map(function(c){var b=c.replace(/^(.*\\)/,"");
if(b.length>30){b=b.substr(0,15)+"&hellip;"+b.substr(b.length-15,15)
}return b
});
this._content=this._lightbox.container;
this._createStatusContent();
this._lightbox.open()
},uploadFinished:function(){this._content.down(".footer").show()
},progressUpload:function(b,d,c){var a=this._fileNames.size()-d.size()-1;
this._fileNameElements[a].className=c
},_createStatusContent:function(){var a=$("uploadStatusContentHolder").innerHTML;
this._content.update(a);
this._content.down("ul.files").update(this._fileNames.map(function(b){return"<li>"+b+"</li>"
}).join("\n").stripScripts());
this._fileNameElements=this._content.select("ul.files li");
if(this._options.okClickedHandler){this._content.down("input.okButton").observe("click",this._options.okClickedHandler)
}}});