//  CARPE  S l i d e r - By Tom Hermansson Snickars
// carpeLeft: Cross-browser version of "element.style.left"

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;
}
// carpeTop: Cross-browser version of "element.style.top"
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;
}
// moveSlider: Handles slider and display while dragging
function moveSlider(evnt){
	var evnt = (!evnt) ? window.event : evnt;
	if (mouseover) {
		x = pxLeft + evnt.screenX - xCoord;
		y = pxTop + evnt.screenY - yCoord;
		if (x > xMax) x = xMax;
		if (x < 0) x = 0;
		if (y > yMax) y = yMax;
		if (y < 0) y = 0;
		carpeLeft(sliderObj.id, x);
		carpeTop(sliderObj.id, y);
		sliderVal = x + y;
		sliderPos = (sliderObj.pxLen / sliderObj.valCount) * Math.round(sliderObj.valCount * sliderVal / sliderObj.pxLen);
		v = Math.round((sliderPos * sliderObj.scale + sliderObj.fromVal) * Math.pow(10, 0)) / Math.pow(10, 0);
		counterOfSlideage = v // rid maybe
		
		if (tagCloud.oCloud){
			if (v<110){if (tagCloud.oCloud.className!='grp5'){tagCloud.oCloud.className='grp5';}
			}else if (v<225){if (tagCloud.oCloud.className!='grp4'){tagCloud.oCloud.className='grp4';}
			}else if (v<345){if (tagCloud.oCloud.className!='grp3'){tagCloud.oCloud.className='grp3';}}
			else if (v<465){if (tagCloud.oCloud.className!='grp2'){tagCloud.oCloud.className='grp2';}}
			else {if (tagCloud.oCloud.className!='grp1'){tagCloud.oCloud.className='grp1';}}		
		}
		return false;
	}
	return;
}
// moveSlider: Handles the start of a slider move.
function slide(evnt, length, from, to, count){
	if (!evnt) evnt = window.event;
	sliderObj = (evnt.target) ? evnt.target : evnt.srcElement;
	sliderObj.pxLen = length;
	sliderObj.valCount = count ? count - 1 : length;
	sliderObj.scale = (to - from) / length;
	sliderObj.fromVal = from;
	xMax = length;
	yMax = 0;
	pxLeft = carpeLeft(sliderObj.id);
	pxTop  = carpeTop(sliderObj.id);
	xCoord = evnt.screenX;
	yCoord = evnt.screenY;
	mouseover = true;
	addEvent(document,'mousemove',moveSlider);
	addEvent(document,'mouseup',sliderMouseUp);
}
function sliderMouseUp(){
	mouseover = false;
	v = (counterOfSlideage) ? counterOfSlideage : 0;
	pos = (v - sliderObj.fromVal)/(sliderObj.scale);
	if (yMax == 0) carpeLeft(sliderObj.id, pos);
	if (xMax == 0) carpeTop(sliderObj.id, pos);
	if (document.detachEvent) {
		document.detachEvent('onmousemove', moveSlider);
		document.detachEvent('onmouseup', sliderMouseUp);
	}
}