
function slider(a_init,a_tpl){var self=this;this.f_setValue=f_sliderSetValue;this.f_getPos=f_sliderGetPos;this.b_watch=true;this.n_pathLeft=this.n_pathTop=0;this.display_label_id="";this.display_label_interval=0;if(!window.A_SLIDERS)
window.A_SLIDERS=[];this.n_id=window.A_SLIDERS.length;window.A_SLIDERS[this.n_id]=this;this.onUpdate=function(){}
this.updateSlider=function(){var e_input=self.s_form==null?get_element(self.s_name):document.forms[self.s_form]?document.forms[self.s_form].elements[self.s_name]:null;self.f_setValue(e_input&&e_input.value!=''?e_input.value:null,1);self.onUpdate();}
var s_key;if(a_tpl)
for(s_key in a_tpl)
this[s_key]=a_tpl[s_key];for(s_key in a_init)
this[s_key]=a_init[s_key];this.n_pix2value=this.n_pathLength/(this.n_maxValue-this.n_minValue);if(this.n_value==null)
this.n_value=this.n_minValue;document.write('<div class="slider" style="width:'+this.n_controlWidth+'px;height:'+this.n_controlHeight+'px;border:0; background-image:url('+this.s_imgControl+')" id="sl'+this.n_id+'base" onmousedown="return f_sliderControlMouseDown(event, '+this.n_id+')">'+'<img src="'+this.s_imgSlider+'" width="'+this.n_sliderWidth+'" height="'+this.n_sliderHeight+'" border="0" style="position:absolute;left:'+this.n_pathLeft+'px;top:'+this.n_pathTop+'px;z-index:'+this.n_zIndex+';cursor:hand;visibility:hidden;" name="sl'+this.n_id+'slider" id="sl'+this.n_id+'slider" onmousedown="return f_sliderMouseDown('+this.n_id+')"/></div>');this.e_base=get_element('sl'+this.n_id+'base');this.e_slider=get_element('sl'+this.n_id+'slider');TOOLS.addListener(document,"mousemove",f_sliderMouseMove);TOOLS.addListener(document,"mouseup",f_sliderMouseUp);var e_input=this.s_form==null?get_element(this.s_name):document.forms[this.s_form]?document.forms[this.s_form].elements[this.s_name]:null;this.f_setValue(e_input&&e_input.value!=''?e_input.value:null,1);this.e_slider.style.visibility='visible';this.showLabel=function(){if(document.body&&document.getElementById(self.display_label_id)&&document.getElementById(self.display_label_id).id==self.display_label_id){self.onUpdate();document.getElementById(self.display_label_id).style.visibility="visible";clearInterval(self.display_label_interval);return true;}
return false;}
if(self.display_label_id!=""){if(!self.showLabel()){self.display_label_interval=setInterval(self.showLabel,100);}}}
function f_sliderSetValue(n_value,b_noInputCheck){if(n_value==null)
n_value=this.n_value==null?this.n_minValue:this.n_value;if(isNaN(n_value))
return false;if(this.n_step)
n_value=Math.round((n_value-this.n_minValue)/this.n_step)*this.n_step+this.n_minValue;if(n_value%1)
n_value=Math.round(n_value*1e5)/1e5;if(n_value<this.n_minValue)
n_value=this.n_minValue;if(n_value>this.n_maxValue)
n_value=this.n_maxValue;this.n_value=n_value;if(this.b_vertical)
this.e_slider.style.top=(this.n_pathTop+this.n_pathLength-Math.round((n_value-this.n_minValue)*this.n_pix2value))+'px';else
this.e_slider.style.left=(this.n_pathLeft+Math.round((n_value-this.n_minValue)*this.n_pix2value))+'px';var e_input;if(this.s_form==null){e_input=get_element(this.s_name);if(!e_input)
return b_noInputCheck?null:f_sliderError(this.n_id,"Can not find the input with ID='"+this.s_name+"'.");}
else{var e_form=document.forms[this.s_form];if(!e_form)
return b_noInputCheck?null:f_sliderError(this.n_id,"Can not find the form with NAME='"+this.s_form+"'.");e_input=e_form.elements[this.s_name];if(!e_input)
return b_noInputCheck?null:f_sliderError(this.n_id,"Can not find the input with NAME='"+this.s_name+"'.");}
e_input.value=n_value;}
function f_sliderGetPos(b_vertical,b_base){var n_pos=0,s_coord=(b_vertical?'Top':'Left');var o_elem=o_elem2=b_base?this.e_base:this.e_slider;while(o_elem){n_pos+=o_elem["offset"+s_coord];o_elem=o_elem.offsetParent;}
o_elem=o_elem2;var n_offset;while(o_elem.tagName!="BODY"){n_offset=o_elem["scroll"+s_coord];if(n_offset)
n_pos-=o_elem["scroll"+s_coord];o_elem=o_elem.parentNode;}
return n_pos;}
function f_sliderControlMouseDown(e_event,n_id){if(!e_event&&window.event)e_event=window.event;window.n_activeSliderId=n_id;var o_slider=window.A_SLIDERS[window.n_activeSliderId];var n_pxOffset;if(o_slider.b_vertical){var n_sliderTop=window.n_mouseY-o_slider.n_sliderHeight/2-o_slider.f_getPos(1,1)-3;o_slider.e_slider.style.top=n_sliderTop+'px';n_pxOffset=o_slider.n_pathLength-n_sliderTop+o_slider.n_pathTop;}else{var n_sliderLeft=window.n_mouseX-o_slider.n_sliderWidth/2-o_slider.f_getPos(0,1)-3;o_slider.e_slider.style.left=n_sliderLeft+'px';n_pxOffset=n_sliderLeft-o_slider.n_pathLeft;}
if(o_slider.b_watch)
f_sliderMouseUp(e_event,1);return false;}
function f_sliderMouseDown(n_id){window.n_activeSliderId=n_id;return false;}
function f_sliderMouseUp(e_event,b_watching){if(window.n_activeSliderId!=null){var o_slider=window.A_SLIDERS[window.n_activeSliderId];o_slider.f_setValue(o_slider.n_minValue+(o_slider.b_vertical?(o_slider.n_pathLength-parseInt(o_slider.e_slider.style.top)+o_slider.n_pathTop):(parseInt(o_slider.e_slider.style.left)-o_slider.n_pathLeft))/o_slider.n_pix2value);o_slider.onUpdate();if(b_watching)return;window.n_activeSliderId=null;}}
function f_sliderMouseMove(e_event){if(!e_event&&window.event)e_event=window.event;if(e_event){window.n_mouseX=e_event.clientX+f_scrollLeft();window.n_mouseY=e_event.clientY+f_scrollTop();}
if(window.n_activeSliderId!=null){var o_slider=window.A_SLIDERS[window.n_activeSliderId];var n_pxOffset;if(o_slider.b_vertical){var n_sliderTop=window.n_mouseY-o_slider.n_sliderHeight/2-o_slider.f_getPos(1,1)-3;if(n_sliderTop<o_slider.n_pathTop)
n_sliderTop=o_slider.n_pathTop;var n_pxMax=o_slider.n_pathTop+o_slider.n_pathLength;if(n_sliderTop>n_pxMax)
n_sliderTop=n_pxMax;o_slider.e_slider.style.top=n_sliderTop+'px';n_pxOffset=o_slider.n_pathLength-n_sliderTop+o_slider.n_pathTop;}else{var n_sliderLeft=window.n_mouseX-o_slider.n_sliderWidth/2-o_slider.f_getPos(0,1)-3;if(n_sliderLeft<o_slider.n_pathLeft)
n_sliderLeft=o_slider.n_pathLeft;var n_pxMax=o_slider.n_pathLeft+o_slider.n_pathLength;if(n_sliderLeft>n_pxMax)
n_sliderLeft=n_pxMax;o_slider.e_slider.style.left=n_sliderLeft+'px';n_pxOffset=n_sliderLeft-o_slider.n_pathLeft;}
if(o_slider.b_watch)
f_sliderMouseUp(e_event,1);return false;}}
function f_scrollLeft(){return f_filterResults(window.pageXOffset?window.pageXOffset:0,document.documentElement?document.documentElement.scrollLeft:0,document.body?document.body.scrollLeft:0);}
function f_scrollTop(){return f_filterResults(window.pageYOffset?window.pageYOffset:0,document.documentElement?document.documentElement.scrollTop:0,document.body?document.body.scrollTop:0);}
function f_filterResults(n_win,n_docel,n_body){var n_result=n_win?n_win:0;if(n_docel&&(!n_result||(n_result>n_docel)))
n_result=n_docel;return n_body&&(!n_result||(n_result>n_body))?n_body:n_result;}
function f_sliderError(n_id,s_message){alert("Slider #"+n_id+" Error:\n"+s_message);window.n_activeSliderId=null;}
get_element=document.all?function(s_id){return document.all[s_id]}:function(s_id){return document.getElementById(s_id)};
