
function crossGetElementById(element) {
if (document.getElementById) element = document.getElementById(element);
else if (document.all) element = document.all[element];
else element = null;
return element;
}

function getLeft(elmnt, pos) {
if (!(elmnt = crossGetElementById(elmnt))) return 0;
if (elmnt.style && (typeof(elmnt.style.left) == 'string')) {
if (typeof(pos) == 'number') 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 moveSlider(evnt) {
var evnt = (!evnt) ? window.event : evnt;
if (mouseover) { // Only if slider is dragged
x = pxLeft + evnt.screenX - xCoord // Horizontal mouse position relative to allowed slider positions
if (x > xMax) x = xMax // Limit horizontal movement
if (x < 0) x = 0 // Limit horizontal movement
getLeft(sliderObj.id, x)  // move slider to new horizontal position
sliderVal = x
sliderPos = (sliderObj.pxLen / sliderObj.valCount) * Math.round(sliderObj.valCount * sliderVal / sliderObj.pxLen)
v = Math.round((sliderPos * sliderObj.scale + sliderObj.fromVal) * Math.pow(10, displayObj.dec)) / Math.pow(10, displayObj.dec)
displayObj.value = v // put the new value in the slider display element
return false
}
return
}

function slide(evnt, length, from, to, count, decimals, display) {
sliderObj = (evnt.target) ? evnt.target : evnt.srcElement; // Get the activated slider element.
sliderObj.pxLen = length // The allowed slider movement in pixels.
sliderObj.valCount = count ? count - 1 : length // Allowed number of values in the interval.
displayObj = crossGetElementById(display) // Get the associated display element.
displayObj.dec = decimals // Number of decimals to be displayed.
sliderObj.scale = (to - from) / length // Slider-display scale [value-change per pixel of movement].
sliderObj.fromVal = from
xMax = length
yMax = 0
pxLeft = getLeft(sliderObj.id) // Sliders horizontal position at start of slide.
xCoord = evnt.screenX // Horizontal mouse position at start of slide.
mouseover = true
document.onmousemove = moveSlider // Start the action if the mouse is dragged.
document.onmouseup = sliderMouseUp // Stop sliding.
}

function sliderMouseUp() {
mouseover = false // Stop the sliding.
v = (displayObj.value) ? displayObj.value : 0 // Find last display value.
pos = (v - sliderObj.fromVal)/(sliderObj.scale) // Calculate slider position (regardless of orientation).
getLeft(sliderObj.id, pos) // Snap horizontal slider to corresponding display position.
if (document.removeEventListener) { // Remove event listeners from 'document' (Moz&co).
document.removeEventListener('mousemove', moveSlider)
document.removeEventListener('mouseup', sliderMouseUp)
}
else if (document.detachEvent) { // Remove event listeners from 'document' (IE&co).
document.detachEvent('onmousemove', moveSlider)
document.detachEvent('onmouseup', sliderMouseUp)
}
}

function clickslider(evnt) {
sliderObj=document.getElementById('slider');
displayObj=document.getElementById('speed');
var xCoord = evnt.clientX;
var docallleft=document.getElementById('docall').offsetLeft;
var wrapperleft=document.getElementById('wrapper').offsetLeft;
var menu1left=document.getElementById('menu1').offsetLeft;
var slitleft=document.getElementById('slit').offsetLeft;
var divleft=docallleft+wrapperleft+menu1left+slitleft;
var scrollx=(window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft);
var clickoffset=99*(xCoord+scrollx-divleft)/110;
getLeft(sliderObj.id, clickoffset);
displayObj.value=clickoffset;
}

