// JavaScript Document

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}


function scrollPosition() {
	if (document.body.scrollTop) return document.body.scrollTop;
	else if (window.pageYOffset) return window.pageYOffset;
	else return (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
}


function moveElement(elementID,final_x,final_y,interval) {
	if (!document.getElementById) return false;
	if (!document.getElementById(elementID)) return false;
	
	var elem = document.getElementById(elementID);
	
	if (elem.movement) clearTimeout(elem.movement);
	//if (!elem.style.left) elem.style.left = "0px";
	if (!elem.style.top) elem.style.top = "0px";
	
	var xpos = parseInt(elem.style.left);
	var ypos = parseInt(elem.style.top);
	
	if (xpos == final_x && ypos == final_y) return true;
	if (xpos < final_x) {
		var dist = Math.ceil((final_x - xpos)/10);
		xpos = xpos + dist;
	}
	if (xpos > final_x) {
		var dist = Math.ceil((xpos - final_x)/10);
		xpos = xpos - dist;
	}
	if (ypos < final_y) {
		var dist = Math.ceil((final_y - ypos)/10);
		ypos = ypos + dist;
	}
	if (ypos > final_y) {
		var dist = Math.ceil((ypos - final_y)/10);
		ypos = ypos - dist;
	}
	
	//elem.style.left = xpos + "px";
	elem.style.top = ypos + "px";
	var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
	elem.movement = setTimeout(repeat,interval);
}


function prepareScrolling() {
	if (!document.getElementById) return false;
	
	if (!document.getElementById('download_all_link')) {
		window.onscroll = function() {
			var $column = document.getElementById('column');
			clearTimeout($column.timer);
			$column.timer = setTimeout("moveElement('column',0,scrollPosition()+30,10);",200);
		}
		if (scrollPosition() > 0) moveElement('column',0,scrollPosition()+30,10);
	}
	else {
		window.onscroll = function() {
			var $column = document.getElementById('column');
			clearTimeout($column.timer);
			$column.timer = setTimeout("moveElement('column',0,scrollPosition()+30,10);",200);
			
			var $download_all_link = document.getElementById('download_all_link');
			if (scrollPosition() > 500) {
				clearTimeout($download_all_link.timer);
				$download_all_link.timer = setTimeout("moveElement('download_all_link',0,scrollPosition()+30,10);",200);
			}
			else if (!$download_all_link.style.top) $download_all_link.style.top = '500px';
			else {
				$download_all_link.timer = setTimeout("moveElement('download_all_link',0,500,10);",200);
			}
		}
		if (scrollPosition() > 0) moveElement('column',0,scrollPosition()+30,10);
		if (scrollPosition() > 500) moveElement('download_all_link',0,scrollPosition()+30,10);
	}
}


