

var sliderOffset = 30;

var ballWidth  = 20;
var minLeft   = 0;
var maxRight  = 180;
var scale     = 4 / (maxRight - minLeft);
var httpReq   = null;
var threshhold = 0.0;
var sessionID  = '';
var query      = '';
var firstresult = '0';
var maxScore   = "10.0";
var minScore   = "-10.0";


function setSliderOffset (offset) {
   sliderOffset = offset;
}


function normalizeThreshhold (xpos) {
  
	var absX = xpos;
	if (absX < minLeft) {
		absX = minLeft;
	}
	if (absX > maxRight) {
		absX = maxRight;
	}

	threshhold = 0.0;
	if (absX == minLeft) {
		threshhold = 0;
	} else if (absX == maxRight) {
		threshhold = 100;
	} else {
		threshhold = xpos / (maxRight / 100);
	}


}

function getXPos (t) {

	t = parseInt(t);
	if (t < 0) {
		t = 0;
	} else if (t > 100) {
		t = 100;
	}

  	var xpos = (t + 2) * (maxRight / 100);
  //alert("got xpos from threshhold ["+t+"]: "+xpos);
	return xpos;
}


function dragStart(e, sID, q) {
	if(document.captureEvents) {
		document.captureEvents(Event.MOUSEMOVE);
		document.captureEvents(Event.MOUSEUP);
	}
	if(!e) e = window.event;
	document.onmousemove = function(e) { drag(e); };
	document.onmouseup = function(e) { endDrag(e); };
}

function drag(e) {
	if(!e) e = window.event;

	var relativePos = e.clientX - sliderOffset;

	normalizeThreshhold(relativePos);

	document.getElementById('proximity_value').innerHTML = parseInt(threshhold) + '%';

	var negValue = 0;
	var formattedThreshhold = new String("" + Math.round(threshhold * 100.0));
	if (formattedThreshhold.charAt(0) == '-') {
		negValue = 1;
		formattedThreshhold = formattedThreshhold.substring(1, formattedThreshhold.length);
	}

	while (formattedThreshhold.length < 3) {
		formattedThreshhold = "0" + formattedThreshhold;
	}
	formattedThreshhold = formattedThreshhold.substring(0, 1) + "." + formattedThreshhold.substring(1, 3);
	if (negValue == 1) {
		formattedThreshhold = "-"+formattedThreshhold;
	}
	document.cookie = "ssthresh="+formattedThreshhold+"; path=/";

	var centerPoint = (maxRight - minLeft) / 2;
	var centerBuffer = 5;
	if (relativePos < (centerPoint + centerBuffer) &&
		relativePos > (centerPoint - centerBuffer)) {
		relativePos = centerPoint;
	}

	if (relativePos < minLeft) {
		relativePos = minLeft;
	}
	if (relativePos > maxRight) {
		relativePos = maxRight;
	}

	moveSlider(relativePos);
}


function endDrag(e) {
  	if(!e) e = window.event;
	if(document.captureEvents) {
		document.releaseEvents(Event.MOUSEMOVE);
		document.releaseEvents(Event.MOUSEUP);
	}
	document.onmousemove = null;
	document.onmouseup = null;

	var relativePos = e.clientX - sliderOffset;
	
	drag(e);
	
	var centerPoint = (maxRight - minLeft) / 2;
	var centerBuffer = 5;
	if (relativePos < (centerPoint + centerBuffer) &&
		relativePos > (centerPoint - centerBuffer)) {
		relativePos = centerPoint;
	}
	
	refresh_rel_patents(parseInt(threshhold));
}

function moveSlider (relativePos) {
	var centerPoint = (maxRight - minLeft) / 2;
	var centerBuffer = 5;

	//the ball position is relative
	var ballPos = (-(maxRight - minLeft)) + (relativePos-(ballWidth/2));
	document.getElementById('sliderball').style.left = ballPos+'px';

	if (relativePos > centerPoint) {
		//the slider is being pulled more toward 'informational'
		var barWidth = relativePos - centerPoint;
		document.getElementById('slidergrayleftimg').width = centerPoint; 
		document.getElementById('slidercolorleftimg').width = 0; 
		document.getElementById('slidercolorrightimg').width = barWidth; 
		document.getElementById('slidergrayrightimg').width = centerPoint - barWidth; 
	 } else if (relativePos < centerPoint) {
    	//the slider is being pulled more toward 'commercial'
        var barWidth = centerPoint - relativePos;
		document.getElementById('slidercolorrightimg').width = 0; 
		document.getElementById('slidergrayrightimg').width = centerPoint; 
		document.getElementById('slidergrayleftimg').width = centerPoint - barWidth; 
		document.getElementById('slidercolorleftimg').width = barWidth; 
	 } else {
		document.getElementById('slidercolorrightimg').width = 0; 
		document.getElementById('slidergrayrightimg').width = centerPoint; 
		document.getElementById('slidergrayleftimg').width = centerPoint; 
		document.getElementById('slidercolorleftimg').width = 0; 
	 }
}

function initSlider (thresh) { 
	var xpos = getXPos(thresh);
	//alert("init slider: thresh["+thresh+"] xpos["+xpos+"]");
	document.getElementById('proximity_value').innerHTML = thresh + '%';
	moveSlider(xpos);
}



