function sliderMousePos(e) {
	//get the position of the mouse
	if( !e ) { e = window.event; } if( !e || ( typeof( e.pageX ) != 'number' && typeof( e.clientX ) != 'number' ) ) { return [0,0]; }
	if( typeof( e.pageX ) == 'number' ) { var xcoord = e.pageX; var ycoord = e.pageY; } else {
		var xcoord = e.clientX; var ycoord = e.clientY;
		if( !( ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) || ( window.ScriptEngine && ScriptEngine().indexOf( 'InScript' ) + 1 ) || window.navigator.vendor == 'KDE' ) ) {
			if( document.documentElement && ( document.documentElement.scrollTop || document.documentElement.scrollLeft ) ) {
				xcoord += document.documentElement.scrollLeft; ycoord += document.documentElement.scrollTop;
			} else if( document.body && ( document.body.scrollTop || document.body.scrollLeft ) ) {
				xcoord += document.body.scrollLeft; ycoord += document.body.scrollTop; } } }
	return [xcoord,ycoord];
}

function slideIsDown(e) {
//make note of starting positions and detect mouse movements
	window.msStartCoord = sliderMousePos(e); 
	window.lyStartCoord = this.style?[parseInt(this.style.left),parseInt(this.style.top)]:[parseInt(this.left),parseInt(this.top)];
		if(document.captureEvents && Event.MOUSEMOVE){
			document.captureEvents(Event.MOUSEMOVE); 
			document.captureEvents(Event.MOUSEUP);
		}
		window.storeMOUSEMOVE = document.onmousemove; 
		window.storeMOUSEUP = document.onmouseup; 
		window.storeLayer = this;
		document.onmousemove = slideIsMove; 
		document.onmouseup = slideIsMove; 
		return false;
}

function slideIsMove(e) {
//move the slider to its newest position
	var msMvCo = sliderMousePos(e); 
		if( !e ){
			e = window.event ? window.event : ( new Object() ); 
		}
	var theLayer = window.storeLayer.style ? window.storeLayer.style : window.storeLayer; 
	var oPix = document.childNodes ? 'px' : 0;
	var theNewPos = window.lyStartCoord[0] + ( msMvCo[0] - window.msStartCoord[0] );
		
		if( theNewPos < 0 ){
			theNewPos = 0;
		}
		
		if( theNewPos > window.storeLayer.maxLength ){
			theNewPos = window.storeLayer.maxLength; 
		}
		
		var stepperVal
		stepperVal = Math.round((theNewPos/window.storeLayer.maxLength)*100)
		
		var retVal
		
		if(stepperVal<20){
		  retVal=20
		  theLayer.left = (20/100*window.storeLayer.maxLength)
		}else if(stepperVal>15 && stepperVal<=20){
		  retVal=20		
		  theLayer.left = (20/100*window.storeLayer.maxLength)				
		}else if(stepperVal>20 && stepperVal<25){
		  retVal=20		
		  theLayer.left = (20/100*window.storeLayer.maxLength)		
		}else if(stepperVal>25 && stepperVal<=30){
		  retVal=30		
		  theLayer.left = (30/100*window.storeLayer.maxLength)				
		}else if(stepperVal>30 && stepperVal<35){
		  retVal=30
		  theLayer.left = (30/100*window.storeLayer.maxLength)		
		}else if(stepperVal>35 && stepperVal<=40){
		  retVal=40		
		  theLayer.left = (40/100*window.storeLayer.maxLength)				
		}else if(stepperVal>40 && stepperVal<45){
		  retVal=40		
		  theLayer.left = (40/100*window.storeLayer.maxLength)		
		}else if(stepperVal>45 && stepperVal<=50){
		  retVal=50		
		  theLayer.left = (50/100*window.storeLayer.maxLength)				
		}else if(stepperVal>50 && stepperVal<55){
		  retVal=50		
		  theLayer.left = (50/100*window.storeLayer.maxLength)		
		}else if(stepperVal>55 && stepperVal<=60){
		  retVal=60		
		  theLayer.left = (60/100*window.storeLayer.maxLength)				
		}else if(stepperVal>60 && stepperVal<65){
		  retVal=60		
		  theLayer.left = (60/100*window.storeLayer.maxLength)		
		}else if(stepperVal>65 && stepperVal<=70){
		  retVal=70		
		  theLayer.left = (70/100*window.storeLayer.maxLength)				
		}else if(stepperVal>70 && stepperVal<75){
		  retVal=70		
		  theLayer.left = (70/100*window.storeLayer.maxLength)		
		}else if(stepperVal>75 && stepperVal<=80){
		  retVal=80		
		  theLayer.left = (80/100*window.storeLayer.maxLength)				
		}else if(stepperVal>80){
		  retVal=80		
		  theLayer.left = (80/100*window.storeLayer.maxLength)		
		}		

//run the user's functions and reset the mouse monitoring as before
	if( e.type && e.type.toLowerCase() == 'mousemove' ) {
		if( window.storeLayer.moveFunc ){
			if(typeof(retVal)!='undefined'){
				window.storeLayer.moveFunc(retVal,window.storeLayer.minObj,window.storeLayer.maxObj);
			}
		}
	}else{
		document.onmousemove = storeMOUSEMOVE; document.onmouseup = window.storeMOUSEUP;
		if( window.storeLayer.stopFunc ) {
			window.storeLayer.stopFunc(retVal); 
		}
	}
}

