var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject() {
	var xmlHttp;	
	try {
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP");
		for(var i=0; i<XmlHttpVersions.length && !xmlHttp; i++) {
			try {
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			} catch (e) {}
		}
	}
	if(!xmlHttp) {
		//alert("could not create XMLHttpRequestObject");
	} else {
		return xmlHttp;
	}
}

function process (params) {
	var parameter = '';
	for(var i=0; i<document.cart_quantity.elements.length; i++) {
		parameter = parameter + document.cart_quantity.elements[i].name + '=' + document.cart_quantity.elements[i].value;
		if(i < document.cart_quantity.elements.length-1) {
			parameter = parameter + '&';
		}
	}
	if(xmlHttp) {
		try {
			xmlHttp.open("GET", "nd_wishlist_ajax.php?" + parameter, true);
			xmlHttp.onreadystatechange = handleRequestStateChange;
			xmlHttp.send(null);
		} catch (e) {
			alert("Error while processing the request!");
		}
	}
}

function handleRequestStateChange () {
	if(xmlHttp.readyState == 4) {
		if(xmlHttp.status == 200) {
			try {
				handleServerResponse();
			} catch (e) {
				alert("Error while reading the Request!\n" + e.toString() + xmlHttp.responseText);
			}
		} else {
			alert("Error while retrieving information!\n" + xmlHttp.statusText);
		}
	}
}

function handleServerResponse() {
	var xmlResponse = xmlHttp.responseXML;
	if(!xmlResponse || !xmlResponse.documentElement) {
		throw("1Fehlerhafte XML-Struktur:\n" + xmlHttp.responseText);
	}
	var rootNodeName = xmlResponse.documentElement.nodeName;
	if(rootNodeName == "parsererror") {
		throw("2Fehlerhafte XML-Struktur:\n" + xmlHttp.responseText);
	}
	xmlRoot = xmlResponse.documentElement;
	if(rootNodeName != "response" || !xmlRoot.firstChild) {
		throw("3Fehlerhafte XML-Struktur:\n" + xmlHttp.responseText);
	}
	
	if(divStatus = document.getElementById("nd_wishlist")) {
		returnStatus = xmlRoot.getElementsByTagName("returnStatus")[0];
		divStatus.innerHTML = returnStatus.firstChild.data;
		divStatus.style.visibility = "visible";
		errorStatus = xmlRoot.getElementsByTagName("errorStatus")[0];
		if(errorStatus.firstChild.data == "1") {
			divStatus.style.background = "red";
			divStatus.style.color = "white";
		} else {
			divStatus.style.background = "green";
			divStatus.style.color = "black";
		}
	}
}
