function loadxml(url,handling,total)
{ 
    var xhr; 
    try {  xhr = new ActiveXObject('Msxml2.XMLHTTP');   }
    catch (e) 
    {
        try {   xhr = new ActiveXObject('Microsoft.XMLHTTP');    }
        catch (e2) 
        {
          try {  xhr = new XMLHttpRequest();     }
          catch (e3) {  xhr = false;   }
        }
     }
   //alert(url);
   xhr.open("GET",url,true);

    xhr.onreadystatechange  = function()
    { 
         if(xhr.readyState == 4 && xhr.status == 200)
         {
			var doc = xhr.responseXML.getElementsByTagName("TotalNetCharge")[0].childNodes[1];
			var value = getInnerText(doc);
			var charge = parseFloat(value);
			var netCharge = charge+handling;
			var newTotal = netCharge+total;
			parent.document.getElementById("ship_total").innerHTML = netCharge.toFixed(2);
			parent.document.getElementById("thetotal").innerHTML = newTotal.toFixed(2);
			parent.document.order_form.final_ship.value = netCharge.toFixed(2);
			parent.document.order_form.final_total.value = newTotal.toFixed(2);
			parent.document.order_form.complete_purchase_button.value = "Complete Purchase";			
         }
    };
    
   xhr.send(null);
}

function getInnerText (node) {
	if(typeof node.textContent != 'undefined') {
		return node.textContent;
	}
	else if(typeof node.innerText != 'undefined') {
		return node.innerText;
	}
	else if (typeof node.text != 'undefined') {
		return node.text;
	}
	else {
		switch (node.nodeType) {
			case 3:
			case 4:
				return node.nodeValue;
				break;
			case 1:
			case 11:
				var innerText = '';
				for(var i = 0; i < node.childNodes.length; i++) {
					innerText += getInnerText(node.childNodes[i]);
				}
				return innerText;
				break;
			default:
			return '';
		}
	}
}
