var wpExtra = null;

function GetXmlHttpObject() {
	var xmlHttpObj = null;
	try { xmlHttpObj = new XMLHttpRequest(); }
	catch (e) {
		try { xmlHttpObj = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) { xmlHttpObj = new ActiveXObject("Microsoft.XMLHTTP"); }
	}
	return xmlHttpObj;
}

function sendEmail(form) {
	document.getElementById('google').style.display = "none";
	document.getElementById('worldpay').style.display = "none";
	document.getElementById('processing').style.display = "";
	var XmlHttp = GetXmlHttpObject();
	XmlHttp.onreadystatechange = function() {
		if (XmlHttp.readyState == 4) {
			if (!form) {
				document.cartForm.submit();
			} else {
				document.getElementsByName(form)[0].submit();
			}
		}
	}
	XmlHttp.open("POST","/cart/email/",true);
	XmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	var postData = createQuery(document.infoForm);
	if (form) postData += "&merchant=WorldPay";
	XmlHttp.send(postData);
}
	
function updateWorldPay() {
	if (!wpExtra) {
		document.getElementById('shipping').style.display = "";
		document.getElementById('delivery').style.display = "";
		document.getElementById('google').style.display = "none";
		document.getElementById('deliveryAddress').focus();
		wpExtra = true;
	} else {
		var shipIndex = document.infoForm.shippingBox.selectedIndex;
		var subtotal = parseFloat(document.getElementById('subtotal').value);
		subtotal += parseFloat(document.infoForm.shippingBox.options[shipIndex].value);
		document.getElementById('amount').value = subtotal;
		document.getElementById('M_delivery_address').value = document.getElementById('deliveryAddress').value;
		document.getElementById('desc').value = document.getElementById('itemdesc').value + "Shipping: " + document.infoForm.shippingBox.options[shipIndex].text + "<br />";
		sendEmail('cartForm_worldPay');
	}
}

function createQuery(form) {
  var elements = form.elements;
  var pairs = new Array();
  for (var i = 0; i < elements.length; i++) {
    if ((name = elements[i].name) && (value = elements[i].value)) {
			if (elements[i].type == "checkbox") {
				value = (elements[i].checked) ? "No" : "Yes";
				pairs.push(name + "=" + value);
			} else {
				pairs.push(name + "=" + encodeURIComponent(value));
			}
		}
   }
  return pairs.join("&");
}