var position = null;
var sliderOffsetX = 0;
var sliderMaxRange = null;
var slider = null;
var activeSlider = false;
function sliderMouseDown( e ){
	activeSlider = true;
	if( document.all ){
		slider = e.srcElement;
		sliderOffsetX = e.offsetX;
		if( position == null )
			position = findPosX( e.srcElement.parentNode );
		if( sliderMaxRange == null )
			sliderMaxRange = parseInt( e.srcElement.parentNode.currentStyle.width ) - parseInt( e.srcElement.currentStyle.width );
	}else if( document.getElementById ){
		slider = e.target;
		sliderOffsetX = e.layerX;
		if( position == null )
			position = findPosX( e.target.parentNode );
		if( sliderMaxRange == null )
			sliderMaxRange = parseInt( window.getComputedStyle( e.target.parentNode, null ).width ) - parseInt( window.getComputedStyle( e.target, null ).width );
	}
	
	addEvent( document, 'mousemove', sliderDrag );
	addEvent( document, 'mouseup', function(){activeSlider=false;} );
}
function sliderDrag( e ){
	if( activeSlider ){
		sliderX = e.clientX - position - sliderOffsetX;
		if( sliderX >= 0 && sliderX <= sliderMaxRange ){
			slider.style.left = sliderX + "px";
			setTextByVal(sliderX);
		}
	}else{
		if( document.removeEventListener ){
			document.removeEventListener( document, arguments.callee, true);
		}else{
			document["onmousemove"] = null;
		}
	}
	
}
function setTextByVal( sliderX ){
	newVal = sliderX * 14.28 + 100;
	newVal = Math.ceil(newVal);
	while( newVal % 10 > 0 )
		newVal++;
	complete = newVal*12*15;
	document.getElementById('rmiete').innerHTML = newVal+" &euro;";
	document.getElementById('rergebnis').innerHTML = addCommas(complete)+" &euro;";
}
function sliderStop( e ){
	if (e.preventDefault) {
		e.preventDefault();
		e.stopPropagation();
	} else {
		e.returnValue=false;
		e.cancelBubble=true;
	}
}
function initSlider(){
	addEvent(document.getElementById('boxpos'), 'mousedown', FFpreventDrag);
	addEvent(document.getElementById('boxpos'), 'mousedown', sliderMouseDown);
}
function FFpreventDrag( e ){
	if (e.preventDefault)
		e.preventDefault();
}
function addCommas(nStr){
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + '.' + '$2');
	}
	return x1 + x2;
}
function addEvent(el, event, func) {
    if (el.attachEvent) {
        el.attachEvent("on" + event, func);
    }else if(el.addEventListener) {
        el.addEventListener(event, func, true);
    }else{
        el["on" + event] = func;
    }
}
function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft+=obj.offsetLeft;
            if (!obj.offsetParent) {
                break;
            }
            obj=obj.offsetParent;
        }
    } else if (obj.x) {
        curleft+=obj.x;
    }
    return curleft;
}
