var XMLHttpFactories = [
	function () {return new XMLHttpRequest()},
	function () {return new ActiveXObject("Msxml2.XMLHTTP")},
	function () {return new ActiveXObject("Msxml3.XMLHTTP")},
	function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
addLoadEvent(initAdd);
var update = createXMLHTTPObject();

function initAdd() {
	var x = document.getElementsByTagName('form');
	for(var i=0; i<x.length; i++) {
		if(x[i].className == 'add') {
			x[i].onsubmit = ajaxAdd;
		}
	}
}

function ajaxAdd() {
	var x = this.getElementsByTagName('input');
	for(var i=0; i<x.length; i++) {
		if(x[i].type=='text'){
			var postVars = x[i].name + '=' + x[i].value;
			break;
		}
	}
	postVars += "&ajax=1";
	return !sendRequest(update, '/actions/updatecart.php?', updateInCart, postVars);
}

function updateInCart(data) {
	var d = data.split(':');
	var x = (document.getElementById('m_'+d[0])).getElementsByTagName('span');
	for(var i=0; i<x.length; i++) {
		if(x[i].className =='incart') {
			x[i].innerHTML = d[1];
			break;
		}
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function')
		window.onload = func;
	else
		window.onload =  function() {oldonload(); func();}
}

function sendRequest(req, url,callback,postData) {
	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 false;
		if (req.status != 200 && req.status != 304) {
		//alert('HTTP error ' + req.status);
			return false;
		}
		callback(req.responseText);
	}
	if (postData)
		req.send(postData);
	return true;
}

function createXMLHTTPObject() {
	var xmlhttp = false;
	for (var i=0;i<XMLHttpFactories.length;i++) {
		try {
			xmlhttp = XMLHttpFactories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}

