document.write('<div id="UploadProgress" class="DivUploadProgress"></div>');

var UploadProgressWidth = 400;
var UploadProgressHeight = 100;

var XMLHTTPObject;

function UploadProgressStart(UploadProgressID)
{
	XMLHTTPObject = getXMLHTTPObject();

	XMLHTTPObject.open('GET', 'upload_progress.php?object=UploadProgress&id='+UploadProgressID, true);
	XMLHTTPObject.onreadystatechange = function() { if (XMLHTTPObject.readyState==4) eval(XMLHTTPObject.responseText); };
	XMLHTTPObject.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	XMLHTTPObject.send('');
}

function UploadProgressMove()
{
	DivUploadProgress = document.getElementById("UploadProgress");

	DivUploadProgress.style.top = parseInt(GetBrowserScrollPositionY()+(GetBrowserInnerHeight() / 2)-(UploadProgressHeight / 2));
	DivUploadProgress.style.left = parseInt(GetBrowserScrollPositionX()+(GetBrowserInnerWidth() / 2)-(UploadProgressWidth / 2));
}

function UploadProgressUpdateInit(UploadProgressID)
{
	window.setTimeout(function () { UploadProgressUpdate(UploadProgressID); } , 1000);
}

function UploadProgressUpdate(UploadProgressID)
{
	XMLHTTPObject = getXMLHTTPObject();

	XMLHTTPObject.open('GET', 'upload_progress.php?object=UploadProgress&id='+UploadProgressID+'&refresh=true', true);
	XMLHTTPObject.onreadystatechange = function() { if (XMLHTTPObject.readyState==4) eval(XMLHTTPObject.responseText); };
	XMLHTTPObject.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
	XMLHTTPObject.send('');
}

function UploadProgressShow()
{
	UploadProgressMove();

	EventHandlerAdd(window, "scroll", UploadProgressMove);
	EventHandlerAdd(window, "resize", UploadProgressMove);

	DivUploadProgress = document.getElementById("UploadProgress");

	DivUploadProgress.style.height = UploadProgressHeight;
	DivUploadProgress.style.width = UploadProgressWidth;
	DivUploadProgress.style.display = "block";
}

function UploadProgressHide()
{
	EventHandlerRemove(window, "scroll", UploadProgressMove);
	EventHandlerRemove(window, "resize", UploadProgressMove);
}