function makeRequest(url)
{
	var httpRequest;

	if (window.XMLHttpRequest) {
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) {
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!httpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	
	httpRequest.onreadystatechange = function() { evalProgress(httpRequest); };
	httpRequest.open('GET', url, true);
	httpRequest.send('');

}

function observeProgress()
{
	setTimeout("getProgress()", 1500);
}

function getProgress()
{
	makeRequest('upload_progress.php?uploadId=' + document.getElementById('uploadId').value);
}

function evalProgress(httpRequest)
{
	try {
		if (httpRequest.readyState == 4) {
			if (httpRequest.status == 200) {
				eval('var data = ' + httpRequest.responseText);

				if (data.finished) {
					finish();
				} else {
					update(data);
					setTimeout("getProgress()", 1000);
				}
			} else {
				alert('There was a problem with the request.');
			}
		}
	} catch(e) {
		alert('Caught Exception: ' + e.description);
	}
}

function update(data)
{
	document.getElementById('pg-percent').style.width = data.percent + '%';

	document.getElementById('pg-text-1').innerHTML = Math.round(data.percent) + ' %';
	document.getElementById('pg-text-2').innerHTML = Math.round(data.percent) + ' %';
}

function finish()
{
	document.getElementById('pg-percent').style.width = '100%';

	document.getElementById('pg-text-1').innerHTML = 'FIN DE L\'ENVOI. PATIENTER UN INSTANT...';
	document.getElementById('pg-text-2').innerHTML = 'FIN DE L\'ENVOI. PATIENTER UN INSTANT...';
	
	document.location.replace(document.location.href+'&redirect=1');
}
