var carpemouseover = false; var carpeDefaultSliderLength = 100; var carpeSliderDefaultOrientation = 'horizontal'; var carpeSliderClassName = 'carpe_slider'; var carpeSliderDisplayClassName = 'carpe_slider_display'; var carpesliders = []; var carpedisplays = []; var carpeslider = {}; var carpedisplay = {}; function carpeAddLoadEvent(func)
{ var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func;}
else { window.onload = function() { oldonload(); func();};}
}
function carpeGetElementsByClass(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 carpeLeft(elmnt, pos)
{ if (!(elmnt = document.getElementById(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 carpeTop(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 (carpemouseover) { carpeslider.x = carpeslider.startOffsetX + evnt.screenX; carpeslider.y = carpeslider.startOffsetY + evnt.screenY; if (carpeslider.x > carpeslider.xMax) carpeslider.x = carpeslider.xMax; if (carpeslider.x < 0) carpeslider.x = 0; if (carpeslider.y > carpeslider.yMax) carpeslider.y = carpeslider.yMax; if (carpeslider.y < 0) carpeslider.y = 0; carpeLeft(carpeslider.id, carpeslider.x); carpeTop(carpeslider.id, carpeslider.y); var sliderVal = carpeslider.x + carpeslider.y; var sliderPos = (carpeslider.distance / carpedisplay.valuecount) * Math.round(carpedisplay.valuecount * sliderVal / carpeslider.distance); var v = Math.round((sliderPos * carpeslider.scale + carpeslider.from) * Math.pow(10, carpedisplay.decimals)) / Math.pow(10, carpedisplay.decimals); carpedisplay.value = v; document.getElementById('flashcontent').style.width = (v*1.15)+'px'; document.getElementById('flashcontent').style.height = (v*1.15)+'px'; return false;}
return
}
function slide(evnt)
{ if (!evnt) evnt = window.event; carpeslider = (evnt.target) ? evnt.target : evnt.srcElement; var dist = parseInt(carpeslider.getAttribute('distance')); carpeslider.distance = dist ? dist : carpeDefaultSliderLength; var ori = carpeslider.getAttribute('orientation'); var orientation = ((ori == 'horizontal') || (ori == 'vertical')) ? ori : carpeSliderDefaultOrientation; var displayId = carpeslider.getAttribute('display'); carpedisplay = document.getElementById(displayId); carpedisplay.sliderId = carpeslider.id; var dec = parseInt(carpedisplay.getAttribute('decimals')); carpedisplay.decimals = dec ? dec : 0; var val = parseInt(carpedisplay.getAttribute('valuecount'))
carpedisplay.valuecount = val ? val : carpeslider.distance + 1
var from = parseFloat(carpedisplay.getAttribute('from'))
from = from ? from : 0
var to = parseFloat(carpedisplay.getAttribute('to'))
to = to ? to : carpeslider.distance
carpeslider.scale = (to - from) / carpeslider.distance
if (orientation == 'vertical') { carpeslider.from = to
carpeslider.xMax = 0
carpeslider.yMax = carpeslider.distance
carpeslider.scale = -carpeslider.scale
}
else { carpeslider.from = from; carpeslider.xMax = carpeslider.distance; carpeslider.yMax = 0;}
carpeslider.startOffsetX = carpeLeft(carpeslider.id) - evnt.screenX; carpeslider.startOffsetY = carpeTop(carpeslider.id) - evnt.screenY; carpemouseover = true; document.onmousemove = moveSlider; document.onmouseup = sliderMouseUp; return false;}
function sliderMouseUp()
{ if (carpemouseover) { var v = (carpedisplay.value) ? carpedisplay.value : 0
var pos = (v - carpeslider.from)/(carpeslider.scale)
if (carpeslider.yMax == 0) { pos = (pos > carpeslider.xMax) ? carpeslider.xMax : pos; pos = (pos < 0) ? 0 : pos; carpeLeft(carpeslider.id, pos);}
if (carpeslider.xMax == 0) { pos = (pos > carpeslider.yMax) ? carpeslider.yMax : pos; pos = (pos < 0) ? 0 : pos; carpeTop(carpeslider.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();}
}
carpemouseover = false;}
function focusDisplay(evnt)
{ if (!evnt) evnt = window.event; var carpedisplay = (evnt.target) ? evnt.target : evnt.srcElement; var lock = carpedisplay.getAttribute('typelock'); if (lock == 'on') { carpedisplay.blur();}
return;}
function carpeInit()
{ carpesliders = carpeGetElementsByClass(carpeSliderClassName)
for (var i = 0; i < carpesliders.length; i++) { carpesliders[i].onmousedown = slide;}
carpedisplays = carpeGetElementsByClass(carpeSliderDisplayClassName)
for (var i = 0; i < carpedisplays.length; i++) { carpedisplays[i].value = carpedisplays[i].defaultValue; carpedisplays[i].onfocus = focusDisplay;}
}
carpeAddLoadEvent(carpeInit); 
