// 
var http = createRequestObject();


function createRequestObject() {
	var req;
	var browser = navigator.appName;

	if(window.XMLHttpRequest) {
		try {
			req = new XMLHttpRequest();
		} catch(e) {
			req = false;
		}
		// branch for IE/Windows ActiveX version
	} else if(window.ActiveXObject) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				req = false;
			}
		}
	}
	return req;
}

function sendUpdateDeliveryCharge(region) {
	var formid = '';
	if (document.getElementById('formIdExplorerIsCrap')) {
		formid = '&formId='+document.getElementById('formIdExplorerIsCrap').value;
//alert(formid)	
	}
console.log('sending update')
	http.open('get', '/order.php?ajaxUpdate=1'+formid+'&deliveryTo='+region);
console.log("on open, http.readyState = "+http.readyState )
	http.onreadystatechange = function() { handleUpdate(); };
	http.send(" ");

console.log("http.readyState = "+http.readyState )
	if (http.readyState == 4)
	{
console.log("completed already. calling handler.");
		handleUpdate();
	}
}

function handleUpdate() {
	if(http.readyState == 4){
		var response = http.responseText;
		
console.log('got update "'+response+'"')
		if (document.getElementById('debugbox')){document.getElementById('debugbox').value=response;}
		
		updates = response.split("&");
		
		for (i=0; i<updates.length; ++i) {
			update = updates[i].split("=");
			if (update[0] != "" && document.getElementById(update[0])) {
				document.getElementById(update[0]).value=parseInt(update[1], 10);
				
				var i = new String(update[0]);
				var el;
				
/*				
				if (i.match(/^deliveryprice$/ig)) {
					// price value
				}
*/
				if (el = document.getElementById(update[0])) {
					// dig out the code for figuring out if this is an element or an entity
					console.log('setting element id '+update[0]+' to "'+update[1]+'"')
					el.value = update[1];
				}
			}
		}
		
		if (document.getElementById('grandTotal')) {
			updatePrices();
		}
	}
}

