function Range(){this._value=0;this._minimum=0;this._maximum=100;this._extent=0;this._isChanging=false}Range.prototype.setValue=function(a){a=parseInt(a);if(isNaN(a)){return}if(this._value!=a){if(a+this._extent>this._maximum){this._value=this._maximum-this._extent}else{if(a<this._minimum){this._value=this._minimum}else{this._value=a}}if(!this._isChanging&&typeof this.onchange=="function"){this.onchange()}}};Range.prototype.getValue=function(){return this._value};Range.prototype.setExtent=function(a){if(this._extent!=a){if(a<0){this._extent=0}else{if(this._value+a>this._maximum){this._extent=this._maximum-this._value}else{this._extent=a}}if(!this._isChanging&&typeof this.onchange=="function"){this.onchange()}}};Range.prototype.getExtent=function(){return this._extent};Range.prototype.setMinimum=function(a){if(this._minimum!=a){var b=this._isChanging;this._isChanging=true;this._minimum=a;if(a>this._value){this.setValue(a)}if(a>this._maximum){this._extent=0;this.setMaximum(a);this.setValue(a)}if(a+this._extent>this._maximum){this._extent=this._maximum-this._minimum}this._isChanging=b;if(!this._isChanging&&typeof this.onchange=="function"){this.onchange()}}};Range.prototype.getMinimum=function(){return this._minimum};Range.prototype.setMaximum=function(b){if(this._maximum!=b){var a=this._isChanging;this._isChanging=true;this._maximum=b;if(b<this._value){this.setValue(b-this._extent)}if(b<this._minimum){this._extent=0;this.setMinimum(b);this.setValue(this._maximum)}if(b<this._minimum+this._extent){this._extent=this._maximum-this._minimum}if(b<this._value+this._extent){this._extent=this._maximum-this._value}this._isChanging=a;if(!this._isChanging&&typeof this.onchange=="function"){this.onchange()}}};Range.prototype.getMaximum=function(){return this._maximum};function Timer(a){this._pauseTime=typeof a=="undefined"?1000:a;this._timer=null;this._isStarted=false}Timer.prototype.start=function(){if(this.isStarted()){this.stop()}var a=this;this._timer=window.setTimeout(function(){if(typeof a.ontimer=="function"){a.ontimer()}},this._pauseTime);this._isStarted=false};Timer.prototype.stop=function(){if(this._timer!=null){window.clearTimeout(this._timer)}this._isStarted=false};Timer.prototype.isStarted=function(){return this._isStarted};Timer.prototype.getPauseTime=function(){return this._pauseTime};Timer.prototype.setPauseTime=function(a){this._pauseTime=a};Slider.isSupported=typeof document.createElement!="undefined"&&typeof document.documentElement!="undefined"&&typeof document.documentElement.offsetWidth=="number";function Slider(b,d,c){if(!b){return}this._orientation=c||"horizontal";this._range=new Range();this._range.setExtent(0);this._blockIncrement=10;this._unitIncrement=1;this._timer=new Timer(100);if(Slider.isSupported&&b){this.document=b.ownerDocument||b.document;this.element=b;this.element.slider=this;this.element.unselectable="on";this.element.className=this._orientation+" "+this.classNameTag+" "+this.element.className;this.line=this.document.createElement("DIV");this.line.className="line";this.line.unselectable="on";this.line.appendChild(this.document.createElement("DIV"));this.element.appendChild(this.line);this.handle=this.document.createElement("DIV");this.handle.className="handle";this.handle.unselectable="on";this.handle.appendChild(this.document.createElement("DIV"));this.handle.firstChild.appendChild(this.document.createTextNode(String.fromCharCode(160)));this.element.appendChild(this.handle)}this.input=d;var a=this;this._range.onchange=function(){a.recalculate();if(typeof a.onchange=="function"){a.onchange()}};if(Slider.isSupported&&b){this.element.onfocus=Slider.eventHandlers.onfocus;this.element.onblur=Slider.eventHandlers.onblur;this.element.onmousedown=Slider.eventHandlers.onmousedown;this.element.onmouseover=Slider.eventHandlers.onmouseover;this.element.onmouseout=Slider.eventHandlers.onmouseout;this.element.onkeydown=Slider.eventHandlers.onkeydown;this.element.onkeypress=Slider.eventHandlers.onkeypress;this.element.onmousewheel=Slider.eventHandlers.onmousewheel;this.handle.onselectstart=this.element.onselectstart=function(){return false};this._timer.ontimer=function(){a.ontimer()};window.setTimeout(function(){a.recalculate()},1)}else{this.input.onchange=function(f){a.setValue(a.input.value)}}}Slider.eventHandlers={getEvent:function(b,a){if(!b){if(a){b=a.document.parentWindow.event}else{b=window.event}}if(!b.srcElement){var a=b.target;while(a!=null&&a.nodeType!=1){a=a.parentNode}b.srcElement=a}if(typeof b.offsetX=="undefined"){b.offsetX=b.layerX;b.offsetY=b.layerY}return b},getDocument:function(a){if(a.target){return a.target.ownerDocument}return a.srcElement.document},getSlider:function(b){var a=b.target||b.srcElement;while(a!=null&&a.slider==null){a=a.parentNode}if(a){return a.slider}return null},getLine:function(b){var a=b.target||b.srcElement;while(a!=null&&a.className!="line"){a=a.parentNode}return a},getHandle:function(c){var b=c.target||c.srcElement;var a=/handle/;while(b!=null&&!a.test(b.className)){b=b.parentNode}return b},onfocus:function(b){var a=this.slider;a._focused=true;a.handle.className="handle hover"},onblur:function(b){var a=this.slider;a._focused=false;a.handle.className="handle"},onmouseover:function(b){b=Slider.eventHandlers.getEvent(b,this);var a=this.slider;if(b.srcElement==a.handle){a.handle.className="handle hover"}},onmouseout:function(b){b=Slider.eventHandlers.getEvent(b,this);var a=this.slider;if(b.srcElement==a.handle&&!a._focused){a.handle.className="handle"}},onmousedown:function(d){d=Slider.eventHandlers.getEvent(d,this);var a=this.slider;if(a.element.focus){a.element.focus()}Slider._currentInstance=a;var c=a.document;if(c.addEventListener){c.addEventListener("mousemove",Slider.eventHandlers.onmousemove,true);c.addEventListener("mouseup",Slider.eventHandlers.onmouseup,true)}else{if(c.attachEvent){c.attachEvent("onmousemove",Slider.eventHandlers.onmousemove);c.attachEvent("onmouseup",Slider.eventHandlers.onmouseup);c.attachEvent("onlosecapture",Slider.eventHandlers.onmouseup);a.element.setCapture()}}if(Slider.eventHandlers.getHandle(d)){Slider._sliderDragData={screenX:d.screenX,screenY:d.screenY,dx:d.screenX-a.handle.offsetLeft,dy:d.screenY-a.handle.offsetTop,startValue:a.getValue(),slider:a}}else{var b=Slider.eventHandlers.getLine(d);a._mouseX=d.offsetX+(b?a.line.offsetLeft:0);a._mouseY=d.offsetY+(b?a.line.offsetTop:0);a._increasing=null;a.ontimer()}},onmousemove:function(g){g=Slider.eventHandlers.getEvent(g,this);if(Slider._sliderDragData){var c=Slider._sliderDragData.slider;var a=c.getMaximum()-c.getMinimum();var b,h,f;if(c._orientation=="horizontal"){b=c.element.offsetWidth-c.handle.offsetWidth;h=g.screenX-Slider._sliderDragData.dx;f=Math.abs(g.screenY-Slider._sliderDragData.screenY)>100}else{b=c.element.offsetHeight-c.handle.offsetHeight;h=c.element.offsetHeight-c.handle.offsetHeight-(g.screenY-Slider._sliderDragData.dy);f=Math.abs(g.screenX-Slider._sliderDragData.screenX)>100}c.setValue(f?Slider._sliderDragData.startValue:c.getMinimum()+a*h/b);return false}else{var c=Slider._currentInstance;if(c!=null){var d=Slider.eventHandlers.getLine(g);c._mouseX=g.offsetX+(d?c.line.offsetLeft:0);c._mouseY=g.offsetY+(d?c.line.offsetTop:0)}}},onmouseup:function(c){c=Slider.eventHandlers.getEvent(c,this);var a=Slider._currentInstance;var b=a.document;if(b.removeEventListener){b.removeEventListener("mousemove",Slider.eventHandlers.onmousemove,true);b.removeEventListener("mouseup",Slider.eventHandlers.onmouseup,true)}else{if(b.detachEvent){b.detachEvent("onmousemove",Slider.eventHandlers.onmousemove);b.detachEvent("onmouseup",Slider.eventHandlers.onmouseup);b.detachEvent("onlosecapture",Slider.eventHandlers.onmouseup);a.element.releaseCapture()}}if(Slider._sliderDragData){Slider._sliderDragData=null}else{a._timer.stop();a._increasing=null}Slider._currentInstance=null},onkeydown:function(c){c=Slider.eventHandlers.getEvent(c,this);var b=this.slider;var a=c.keyCode;switch(a){case 33:b.setValue(b.getValue()+b.getBlockIncrement());break;case 34:b.setValue(b.getValue()-b.getBlockIncrement());break;case 35:b.setValue(b.getOrientation()=="horizontal"?b.getMaximum():b.getMinimum());break;case 36:b.setValue(b.getOrientation()=="horizontal"?b.getMinimum():b.getMaximum());break;case 38:case 39:b.setValue(b.getValue()+b.getUnitIncrement());break;case 37:case 40:b.setValue(b.getValue()-b.getUnitIncrement());break}if(a>=33&&a<=40){return false}},onkeypress:function(b){b=Slider.eventHandlers.getEvent(b,this);var a=b.keyCode;if(a>=33&&a<=40){return false}},onmousewheel:function(b){b=Slider.eventHandlers.getEvent(b,this);var a=this.slider;if(a._focused){a.setValue(a.getValue()+b.wheelDelta/120*a.getUnitIncrement());return false}}};Slider.prototype.classNameTag="dynamic-slider-control",Slider.prototype.setValue=function(a){this._range.setValue(a);this.input.value=this.getValue()};Slider.prototype.getValue=function(){return this._range.getValue()};Slider.prototype.setMinimum=function(a){this._range.setMinimum(a);this.input.value=this.getValue()};Slider.prototype.getMinimum=function(){return this._range.getMinimum()};Slider.prototype.setMaximum=function(a){this._range.setMaximum(a);this.input.value=this.getValue()};Slider.prototype.getMaximum=function(){return this._range.getMaximum()};Slider.prototype.setUnitIncrement=function(a){this._unitIncrement=a};Slider.prototype.getUnitIncrement=function(){return this._unitIncrement};Slider.prototype.setBlockIncrement=function(a){this._blockIncrement=a};Slider.prototype.getBlockIncrement=function(){return this._blockIncrement};Slider.prototype.getOrientation=function(){return this._orientation};Slider.prototype.setOrientation=function(a){if(a!=this._orientation){if(Slider.isSupported&&this.element){this.element.className=this.element.className.replace(this._orientation,a)}this._orientation=a;this.recalculate()}};Slider.prototype.recalculate=function(){if(!Slider.isSupported||!this.element){return}var c=this.element.offsetWidth;var e=this.element.offsetHeight;var a=this.handle.offsetWidth;var d=this.handle.offsetHeight;var f=this.line.offsetWidth;var b=this.line.offsetHeight;if(this._orientation=="horizontal"){this.handle.style.left=(c-a)*(this.getValue()-this.getMinimum())/(this.getMaximum()-this.getMinimum())+"px";this.handle.style.top=(e-d)/2+"px";this.line.style.top=(e-b)/2+"px";this.line.style.left=a/2+"px";this.line.style.width=Math.max(0,c-a-2)+"px";this.line.firstChild.style.width=Math.max(0,c-a-4)+"px"}else{this.handle.style.left=(c-a)/2+"px";this.handle.style.top=e-d-(e-d)*(this.getValue()-this.getMinimum())/(this.getMaximum()-this.getMinimum())+"px";this.line.style.left=(c-f)/2+"px";this.line.style.top=d/2+"px";this.line.style.height=Math.max(0,e-d-2)+"px";this.line.firstChild.style.height=Math.max(0,e-d-4)+"px"}};Slider.prototype.ontimer=function(){var b=this.handle.offsetWidth;var d=this.handle.offsetHeight;var a=this.handle.offsetLeft;var c=this.handle.offsetTop;if(this._orientation=="horizontal"){if(this._mouseX>a+b&&(this._increasing==null||this._increasing)){this.setValue(this.getValue()+this.getBlockIncrement());this._increasing=true}else{if(this._mouseX<a&&(this._increasing==null||!this._increasing)){this.setValue(this.getValue()-this.getBlockIncrement());this._increasing=false}}}else{if(this._mouseY>c+d&&(this._increasing==null||!this._increasing)){this.setValue(this.getValue()-this.getBlockIncrement());this._increasing=false}else{if(this._mouseY<c&&(this._increasing==null||this._increasing)){this.setValue(this.getValue()+this.getBlockIncrement());this._increasing=true}}}this._timer.start()};