function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
//			alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}



function setFuse() {
	window.updateFuse = window.setTimeout(makeRequest,3000);
}


function makeRequest() {
	var url = window.myUpdateUrl + '?d=' + Math.random();
	sendRequest(url, handleRequest);
	
	/*
		new Ajax.Updater('update_div',
			window.updateUrl,
			{onComplete:handleRequest}
		);
	*/
}

function setReviver()
{
	window.clearTimeout(window.reviveFuse);
	window.reviveFuse = window.setTimeout("setFuse()",8000);
}

function handleRequest(req) {
	setReviver();
	updateBids(req);
	setFuse();
}

function updateBids(req) {
	//alert(req.responseXML);
	var returnXML = req.responseXML;
	if (!returnXML) 
		return;
	var  items = returnXML.getElementsByTagName('product');
	for (var i = 0; i < items.length; i++) {
		var id = items[i].getAttribute('id');
		var value = items[i].getAttribute('pricevalue');
		var element = document.getElementById('bid_holder_' + id);
		if (element)
			element.innerHTML = value;
	}
}

function setUpdateUrl(url) {
	// /updater?veilingid=XX
	window.myUpdateUrl = url;
	makeRequest();
}

function stopFuse() {
	window.clearTimeout(window.updateFuse);
}