
var slidermouseover=false;var sliderDefaultSliderLength=100;var sliderSliderDefaultOrientation='horizontal';var sliderSliderClassName='slider';var sliderSliderDisplayClassName='slider_display';var slidersliders=[];var sliderdisplays=[];var sliderslider={};var sliderdisplay={};function sliderAddLoadEvent(func)
{var oldonload=window.onload;if(typeof window.onload!='function'){window.onload=func;}
else{window.onload=function(){oldonload();func();};}}
function sliderGetElementsByClass(className)
{var classElements=new Array();var els=document.getElementsByTagName("*");var elsLen=els.length;var pattern=new RegExp("\\b"+className+"\\b");for(var i=0,j=0;i<elsLen;i++){if(pattern.test(els[i].className)){classElements[j]=els[i];j++;}}
return classElements;}
function sliderLeft(elmnt,pos)
{if(!(elmnt=document.getElementById(elmnt)))return 0;if(elmnt.style&&(typeof(elmnt.style.left)=='string')){if(typeof(pos)=='number' && !isNaN(pos))elmnt.style.left=pos+'px';else{pos=parseInt(elmnt.style.left);if(isNaN(pos))pos=0;}}
else if(elmnt.style&&elmnt.style.pixelLeft){if(typeof(pos)=='number')elmnt.style.pixelLeft=pos;else pos=elmnt.style.pixelLeft;}
return pos;}
function sliderTop(elmnt,pos)
{if(!(elmnt=document.getElementById(elmnt)))return 0;if(elmnt.style&&(typeof(elmnt.style.top)=='string')){if(typeof(pos)=='number')elmnt.style.top=pos+'px';else{pos=parseInt(elmnt.style.top);if(isNaN(pos))pos=0;}}
else if(elmnt.style&&elmnt.style.pixelTop){if(typeof(pos)=='number')elmnt.style.pixelTop=pos;else pos=elmnt.style.pixelTop;}
return pos;}
function moveSlider(evnt)
{var evnt=(!evnt)?window.event:evnt;if(slidermouseover){sliderslider.x=sliderslider.startOffsetX+evnt.screenX;sliderslider.y=sliderslider.startOffsetY+evnt.screenY;if(sliderslider.x>sliderslider.xMax)sliderslider.x=sliderslider.xMax;if(sliderslider.x<0)sliderslider.x=0;if(sliderslider.y>sliderslider.yMax)sliderslider.y=sliderslider.yMax;if(sliderslider.y<0)sliderslider.y=0;sliderLeft(sliderslider.id,sliderslider.x);sliderTop(sliderslider.id,sliderslider.y);var sliderVal=sliderslider.x+sliderslider.y;var sliderPos=(sliderslider.distance/sliderdisplay.valuecount)*Math.round(sliderdisplay.valuecount*sliderVal/sliderslider.distance);var v=Math.round((sliderPos*sliderslider.scale+sliderslider.from)*Math.pow(10,sliderdisplay.decimals))/Math.pow(10,sliderdisplay.decimals);sliderdisplay.value=sliderdisplay.getAttribute('prefix') + v + sliderdisplay.getAttribute('postfix');return false;}
return}
function slide(evnt)
{if(!evnt)evnt=window.event;sliderslider=(evnt.target)?evnt.target:evnt.srcElement;var dist=parseInt(sliderslider.getAttribute('distance'));sliderslider.distance=dist?dist:sliderDefaultSliderLength;var ori=sliderslider.getAttribute('orientation');var orientation=((ori=='horizontal')||(ori=='vertical'))?ori:sliderSliderDefaultOrientation;var displayId=sliderslider.getAttribute('display');sliderdisplay=document.getElementById(displayId);if(sliderdisplay===null)return; sliderdisplay.sliderId=sliderslider.id;var dec=parseInt(sliderdisplay.getAttribute('decimals'));sliderdisplay.decimals=dec?dec:0;var val=parseInt(sliderdisplay.getAttribute('valuecount'))
sliderdisplay.valuecount=val?val:sliderslider.distance+1
var from=parseFloat(sliderdisplay.getAttribute('from'))
from=from?from:0
var to=parseFloat(sliderdisplay.getAttribute('to'))
to=to?to:sliderslider.distance
sliderslider.scale=(to-from)/sliderslider.distance
if(orientation=='vertical'){sliderslider.from=to
sliderslider.xMax=0
sliderslider.yMax=sliderslider.distance
sliderslider.scale=-sliderslider.scale}
else{sliderslider.from=from;sliderslider.xMax=sliderslider.distance;sliderslider.yMax=0;}
sliderslider.startOffsetX=sliderLeft(sliderslider.id)-evnt.screenX;sliderslider.startOffsetY=sliderTop(sliderslider.id)-evnt.screenY;slidermouseover=true;document.onmousemove=moveSlider;document.onmouseup=sliderMouseUp;return false;}
function sliderMouseUp()
{if(slidermouseover){var v=(sliderdisplay.value)?sliderdisplay.value:0
var pos=(v-sliderslider.from)/(sliderslider.scale)
if(sliderslider.yMax==0){pos=(pos>sliderslider.xMax)?sliderslider.xMax:pos;pos=(pos<0)?0:pos;sliderLeft(sliderslider.id,pos);}
if(sliderslider.xMax==0){pos=(pos>sliderslider.yMax)?sliderslider.yMax:pos;pos=(pos<0)?0:pos;sliderTop(sliderslider.id,pos);}
if(document.removeEventListener){document.removeEventListener('mousemove',moveSlider,false);document.removeEventListener('mouseup',sliderMouseUp,false);}
else if(document.detachEvent){document.detachEvent('onmousemove',moveSlider);document.detachEvent('onmouseup',sliderMouseUp);document.releaseCapture();}}
slidermouseover=false;}
function focusDisplay(evnt)
{if(!evnt)evnt=window.event;var sliderdisplay=(evnt.target)?evnt.target:evnt.srcElement;var lock=sliderdisplay.getAttribute('typelock');if(lock=='on'){sliderdisplay.blur();}
return;}
function sliderInit()
{slidersliders=sliderGetElementsByClass(sliderSliderClassName)
for(var i=0;i<slidersliders.length;i++){slidersliders[i].onmousedown=slide;}
sliderdisplays=sliderGetElementsByClass(sliderSliderDisplayClassName)
for(var i=0;i<sliderdisplays.length;i++){sliderdisplays[i].value=sliderdisplays[i].defaultValue;sliderdisplays[i].onfocus=focusDisplay;}}
sliderAddLoadEvent(sliderInit);
