function repo(id){
	var e = document.getElementById(id);
	var pos = findPos(e);
	window.scrollTo(0,pos[1]);
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

///6/28/2007 new system for bought/dupe msgs
function getScrollTop(){
	var ScrollTop = document.body.scrollTop;
	if (ScrollTop == 0){
		if (window.pageYOffset)
		    ScrollTop = window.pageYOffset;
		else
		    ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
	}
	return ScrollTop;
}
function getScrollLeft(){
	var ScrollLeft = document.body.scrollLeft;
	if (ScrollLeft == 0){
		if (window.pageXOffset)
		    ScrollLeft = window.pageXOffset;
		else
		    ScrollLeft = (document.body.parentElement) ? document.body.parentElement.scrollLeft : 0;
	}
	return ScrollLeft;
}
function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}
function saveEventCoords(e){
	if (!e) var e = window.event;	// e gives access to the event in all browsers
	var y = getScrollTop();
	var elem = document.getElementById('eventScrollY');
	elem.value=y;
	var x = getScrollLeft();
	var elem = document.getElementById('eventScrollX');
	elem.value=x;
	var elem = document.getElementById('eventCoordY');
	elem.value=e.clientY;
	var elem = document.getElementById('eventCoordX');
	elem.value=e.clientX;
	return(1);
}
function saveObjectCoords(e, yoff, xoff){
	var y = getScrollTop();
	var elem = document.getElementById('eventScrollY');
	elem.value=y;
	var x = getScrollLeft();
	var elem = document.getElementById('eventScrollX');
	elem.value=x;
	var coords = findPos(e);
	var elem = document.getElementById('objectCoordY');
	elem.value = (coords[1] + yoff);
	var elem = document.getElementById('objectCoordX');
	elem.value = (coords[0] + xoff);
	return(1);
}
function displayAt(id, xL, yL, mode, content) {
	var obj = document.getElementById(id);
	if(content != null)obj.innerHTML = content;
	obj.style.top = yL;
	/*obj.style.right = 'auto';*/
	obj.style.right = '220px';//stay out of right sidebar
	obj.style.bottom = 'auto';
	obj.style.left = xL;
	obj.style.display = mode;	//e.g. block or none
}

//This slides the page into position rather than popping it there
wslIncX=0;
wslIncY=0;
wslCurrX=0;
wslCurrY=0;
function windowScrollLoop(x,y,wslLoop){
	var loops = 10;
	var delay = 50;
	if(wslLoop == 0){
		wslCurrX = 0;
		wslCurrY = 0;
		wslIncX = Math.round(x / loops);
		wslIncY = Math.round(y / loops);
		wslLoop = 0;
		delay = 300;	//this pause before we start scrolling
	}
	//
	if(wslCurrX < x || wslCurrY < y && wslLoop <= loops){
		wslLoop = wslLoop + 1;
		if(wslLoop > 1){
			var div = (loops - wslLoop);

			if(div > 0 && wslIncX <= 0)var newX = Math.round((x - wslCurrX) / div);
			else var newX = wslCurrX + wslIncX;
			if(div > 0 && wslIncY <= 0)var newY = Math.round((x - wslCurrY) / div);
			else var newY = wslCurrY + wslIncY;

			wslCurrX = newX;
			wslCurrY = newY;
			window.scroll(Math.min(x,newX),Math.min(y,newY));
		}
	}
	//final adjustment takes care of rounding error
	else{
		window.scroll(x,y);
		wslLoop = 0;
	}
	if(wslLoop){
		setTimeout('windowScrollLoop('+ x + ',' + y + ',' + wslLoop + ');',delay);
	}
}
