function Timer(_1){this._pauseTime=typeof _1=="undefined"?1000:_1;this._timer=null;this._isStarted=false;}Timer.prototype.start=function(){if(this.isStarted()){this.stop();}var _2=this;this._timer=window.setTimeout(function(){if(typeof _2.ontimer=="function"){_2.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(_3){this._pauseTime=_3;};function Range(){this._value=0;this._minimum=0;this._maximum=100;this._extent=0;this._isChanging=false;}Range.prototype.setValue=function(_4){_4=Math.round(parseFloat(_4));if(isNaN(_4)){return;}if(this._value!=_4){if(_4+this._extent>this._maximum){this._value=this._maximum-this._extent;}else{if(_4<this._minimum){this._value=this._minimum;}else{this._value=_4;}}if(!this._isChanging&&typeof this.onchange=="function"){this.onchange();}}};Range.prototype.getValue=function(){return this._value;};Range.prototype.setExtent=function(_5){if(this._extent!=_5){if(_5<0){this._extent=0;}else{if(this._value+_5>this._maximum){this._extent=this._maximum-this._value;}else{this._extent=_5;}}if(!this._isChanging&&typeof this.onchange=="function"){this.onchange();}}};Range.prototype.getExtent=function(){return this._extent;};Range.prototype.setMinimum=function(_6){if(this._minimum!=_6){var _7=this._isChanging;this._isChanging=true;this._minimum=_6;if(_6>this._value){this.setValue(_6);}if(_6>this._maximum){this._extent=0;this.setMaximum(_6);this.setValue(_6);}if(_6+this._extent>this._maximum){this._extent=this._maximum-this._minimum;}this._isChanging=_7;if(!this._isChanging&&typeof this.onchange=="function"){this.onchange();}}};Range.prototype.getMinimum=function(){return this._minimum;};Range.prototype.setMaximum=function(_8){if(this._maximum!=_8){var _9=this._isChanging;this._isChanging=true;this._maximum=_8;if(_8<this._value){this.setValue(_8-this._extent);}if(_8<this._minimum){this._extent=0;this.setMinimum(_8);this.setValue(this._maximum);}if(_8<this._minimum+this._extent){this._extent=this._maximum-this._minimum;}if(_8<this._value+this._extent){this._extent=this._maximum-this._value;}this._isChanging=_9;if(!this._isChanging&&typeof this.onchange=="function"){this.onchange();}}};Range.prototype.getMaximum=function(){return this._maximum;};Slider.isSupported=typeof document.createElement!="undefined"&&typeof document.documentElement!="undefined"&&typeof document.documentElement.offsetWidth=="number";function Slider(_a,_b,_c){if(!_a){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&&_a){this.document=_a.ownerDocument||_a.document;this.element=_a;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=_b;var _d=this;this._range.onchange=function(){_d.recalculate();if(typeof _d.onchange=="function"){_d.onchange();}};if(Slider.isSupported&&_a){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(){_d.ontimer();};window.setTimeout(function(){_d.recalculate();},1);}else{this.input.onchange=function(e){_d.setValue(_d.input.value);};}}Slider.eventHandlers={getEvent:function(e,el){if(!e){if(el){e=el.document.parentWindow.event;}else{e=window.event;}}if(!e.srcElement){var el=e.target;while(el!=null&&el.nodeType!=1){el=el.parentNode;}e.srcElement=el;}if(typeof e.offsetX=="undefined"){e.offsetX=e.layerX;e.offsetY=e.layerY;}return e;},getDocument:function(e){if(e.target){return e.target.ownerDocument;}return e.srcElement.document;},getSlider:function(e){var el=e.target||e.srcElement;while(el!=null&&el.slider==null){el=el.parentNode;}if(el){return el.slider;}return null;},getLine:function(e){var el=e.target||e.srcElement;while(el!=null&&el.className!="line"){el=el.parentNode;}return el;},getHandle:function(e){var el=e.target||e.srcElement;var re=/handle/;while(el!=null&&!re.test(el.className)){el=el.parentNode;}return el;},onfocus:function(e){var s=this.slider;s._focused=true;},onblur:function(e){var s=this.slider;s._focused=false;s.handle.className="handle";},onmouseover:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=this.slider;},onmouseout:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=this.slider;if(e.srcElement==s.handle&&!s._focused){s.handle.className="handle";}},onmousedown:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=this.slider;if(s.element.focus){s.element.focus();}Slider._currentInstance=s;var doc=s.document;if(doc.addEventListener){doc.addEventListener("mousemove",Slider.eventHandlers.onmousemove,true);doc.addEventListener("mouseup",Slider.eventHandlers.onmouseup,true);}else{if(doc.attachEvent){doc.attachEvent("onmousemove",Slider.eventHandlers.onmousemove);doc.attachEvent("onmouseup",Slider.eventHandlers.onmouseup);doc.attachEvent("onlosecapture",Slider.eventHandlers.onmouseup);s.element.setCapture();}}if(Slider.eventHandlers.getHandle(e)){Slider._sliderDragData={screenX:e.screenX,screenY:e.screenY,dx:e.screenX-s.handle.offsetLeft,dy:e.screenY-s.handle.offsetTop,startValue:s.getValue(),slider:s};}else{var _25=Slider.eventHandlers.getLine(e);s._mouseX=e.offsetX+(_25?s.line.offsetLeft:0);s._mouseY=e.offsetY+(_25?s.line.offsetTop:0);s._increasing=null;s.ontimer();}},onmousemove:function(e){e=Slider.eventHandlers.getEvent(e,this);if(Slider._sliderDragData){var s=Slider._sliderDragData.slider;var _28=s.getMaximum()-s.getMinimum();var _29,pos,reset;if(s._orientation=="horizontal"){_29=s.element.offsetWidth-s.handle.offsetWidth;pos=e.screenX-Slider._sliderDragData.dx;reset=Math.abs(e.screenY-Slider._sliderDragData.screenY)>100;}else{_29=s.element.offsetHeight-s.handle.offsetHeight;pos=s.element.offsetHeight-s.handle.offsetHeight-(e.screenY-Slider._sliderDragData.dy);reset=Math.abs(e.screenX-Slider._sliderDragData.screenX)>100;}s.setValue(reset?Slider._sliderDragData.startValue:s.getMinimum()+_28*pos/_29);return false;}else{var s=Slider._currentInstance;if(s!=null){var _2b=Slider.eventHandlers.getLine(e);s._mouseX=e.offsetX+(_2b?s.line.offsetLeft:0);s._mouseY=e.offsetY+(_2b?s.line.offsetTop:0);}}},onmouseup:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=Slider._currentInstance;var doc=s.document;if(doc.removeEventListener){doc.removeEventListener("mousemove",Slider.eventHandlers.onmousemove,true);doc.removeEventListener("mouseup",Slider.eventHandlers.onmouseup,true);}else{if(doc.detachEvent){doc.detachEvent("onmousemove",Slider.eventHandlers.onmousemove);doc.detachEvent("onmouseup",Slider.eventHandlers.onmouseup);doc.detachEvent("onlosecapture",Slider.eventHandlers.onmouseup);s.element.releaseCapture();}}if(Slider._sliderDragData){Slider._sliderDragData=null;}else{s._timer.stop();s._increasing=null;}Slider._currentInstance=null;},onkeydown:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=this.slider;var kc=e.keyCode;switch(kc){case 33:s.setValue(s.getValue()+s.getBlockIncrement());break;case 34:s.setValue(s.getValue()-s.getBlockIncrement());break;case 35:s.setValue(s.getOrientation()=="horizontal"?s.getMaximum():s.getMinimum());break;case 36:s.setValue(s.getOrientation()=="horizontal"?s.getMinimum():s.getMaximum());break;case 38:case 39:s.setValue(s.getValue()+s.getUnitIncrement());break;case 37:case 40:s.setValue(s.getValue()-s.getUnitIncrement());break;}if(kc>=33&&kc<=40){return false;}},onkeypress:function(e){e=Slider.eventHandlers.getEvent(e,this);var kc=e.keyCode;if(kc>=33&&kc<=40){return false;}},onmousewheel:function(e){e=Slider.eventHandlers.getEvent(e,this);var s=this.slider;if(s._focused){s.setValue(s.getValue()+e.wheelDelta/120*s.getUnitIncrement());return false;}}};Slider.prototype.classNameTag="dynamic-slider-control",Slider.prototype.setValue=function(v){this._range.setValue(v);this.input.value=this.getValue();};Slider.prototype.getValue=function(){return this._range.getValue();};Slider.prototype.setMinimum=function(v){this._range.setMinimum(v);this.input.value=this.getValue();};Slider.prototype.getMinimum=function(){return this._range.getMinimum();};Slider.prototype.setMaximum=function(v){this._range.setMaximum(v);this.input.value=this.getValue();};Slider.prototype.getMaximum=function(){return this._range.getMaximum();};Slider.prototype.setUnitIncrement=function(v){this._unitIncrement=v;};Slider.prototype.getUnitIncrement=function(){return this._unitIncrement;};Slider.prototype.setBlockIncrement=function(v){this._blockIncrement=v;};Slider.prototype.getBlockIncrement=function(){return this._blockIncrement;};Slider.prototype.getOrientation=function(){return this._orientation;};Slider.prototype.setOrientation=function(_3b){if(_3b!=this._orientation){if(Slider.isSupported&&this.element){this.element.className=this.element.className.replace(this._orientation,_3b);}this._orientation=_3b;this.recalculate();}};Slider.prototype.recalculate=function(){if(!Slider.isSupported||!this.element){return;}var w=this.element.offsetWidth;var h=this.element.offsetHeight;var hw=this.handle.offsetWidth;var hh=this.handle.offsetHeight;var lw=this.line.offsetWidth;var lh=this.line.offsetHeight;if(this._orientation=="horizontal"){this.handle.style.left=(w-hw)*(this.getValue()-this.getMinimum())/(this.getMaximum()-this.getMinimum())+"px";this.handle.style.top=(h-hh)/2+"px";this.line.style.top=(h-lh)/2+"px";this.line.style.left=hw/2+"px";this.line.style.width=Math.max(0,w-hw-2)+"px";this.line.firstChild.style.width=Math.max(0,w-hw-4)+"px";}else{this.handle.style.left=(w-hw)/2+"px";this.handle.style.top=h-hh-(h-hh)*(this.getValue()-this.getMinimum())/(this.getMaximum()-this.getMinimum())+"px";this.line.style.left=(w-lw)/2+"px";this.line.style.top=hh/2+"px";this.line.style.height=Math.max(0,h-hh-2)+"px";this.line.firstChild.style.height=Math.max(0,h-hh-4)+"px";}};Slider.prototype.ontimer=function(){var hw=this.handle.offsetWidth;var hh=this.handle.offsetHeight;var hl=this.handle.offsetLeft;var ht=this.handle.offsetTop;if(this._orientation=="horizontal"){if(this._mouseX>hl+hw&&(this._increasing==null||this._increasing)){this.setValue(this.getValue()+this.getBlockIncrement());this._increasing=true;}else{if(this._mouseX<hl&&(this._increasing==null||!this._increasing)){this.setValue(this.getValue()-this.getBlockIncrement());this._increasing=false;}}}else{if(this._mouseY>ht+hh&&(this._increasing==null||!this._increasing)){this.setValue(this.getValue()-this.getBlockIncrement());this._increasing=false;}else{if(this._mouseY<ht&&(this._increasing==null||this._increasing)){this.setValue(this.getValue()+this.getBlockIncrement());this._increasing=true;}}}this._timer.start();};

