// Get the shipping cost ->

function getShippingCost() {
	
	var form = document.forms["delivery_options"];

	var weight = form.elements["del_weight"].value;

	var value = form.elements["del_value"].value;

	var exvatvalue = form.elements["del_exvatvalue"].value;

	var quantity = form.elements["del_quantity"].value;

	var country = form.elements["del_country"].value;

	var method = form.elements["del_method"].value;

	var postcode = form.elements["del_postcode"].value;

	document.getElementById("delivery_charge").innerHTML = "<p>Calculating shipping costs, please hold...</p>";
	
	var url = "/cart/includes/calculate-shipping.php?weight="+ weight +"&value="+ value +"&exvatvalue="+ exvatvalue +"&quantity="+ quantity +"&country="+ country +"&method="+ method +"&postcode="+ postcode;
	
	var string = "delivery_charge";
	
	getXmlObject(url, string);

}



function showNewPrice(nID, pID) {

	var url = "/includes/js/functions/get-price.php?id="+ nID +"&p="+ pID;

	var string = "product-price";

	getXmlObject(url, string);
	
	showDiscountPrice(nID, pID);

}



function showDiscountPrice(nID, pID) {

	var url = "/includes/js/functions/get-price.php?id="+ nID +"&p="+ pID +"&discount=true";

	var string = "your-product-price";

	getXmlObject(url, string);

}



// Get the delivery table ->

function deliveryAddress(nID, country) {

	var url = "/cart/includes/delivery.php?id="+ nID +"&c="+ country;

	var string = "cart-delivery";
	
	getXmlObject(url, string);
	
}



// See if they are delivery to a different address ->

function altDelivery(val, postcode, original) {
	
	var tot = 8;
	
	var altdelivery = document.getElementById("altdelivery");
	
	var names = new Array("title", "forename", "surname", "address1", "address2", "address3", "town", "county");
	
	if(postcode) { names[8] = "postcode"; tot = 9 }
	
	var form = document.forms["details"];
	
	if(altdelivery.checked == true) {
		
		form.elements["deliveryID"].value = '0';
		
	} 
	
	if((altdelivery.checked == false) && (original > 0)) {
		
		deliveryAddress(original, (form.elements["d_country"].value));
			
		for(i=0; i<tot; i++) {
				
			var name = "d_" + names[i];
			
			if(form.elements[name]) { form.elements[name].disabled = true; }
			
		}
		
	} else {
	
		if((val) && (altdelivery.checked == true)) {
			
			for(i=0; i<tot; i++) {
				
				var name = "d_" + names[i];
				
				document.getElementById("cart-delivery-table").className = "cart-right carttable";
				
				if(form.elements[name]) { form.elements[name].disabled = false; }
				
			}
			
		} else {
			
			for(i=0; i<tot; i++) {
				
				var name = "d_" + names[i];
				
				var sname = "s_" + names[i];
				
				document.getElementById("cart-delivery-table").className = "cart-right carttable grayed";
				
				if(form.elements[name]) { form.elements[name].disabled = true; }
				
				if(form.elements[sname] && (form.elements[sname].value)) { form.elements[name].value = form.elements[sname].value; } else { form.elements[name].value = ''; }
				
			}
			
		}
		
	}

}



// Confirm the delivery page and re-enable of of the boxes ->

function confirmDelivery(frm) {
	
	var confirmed = validateFields(frm);
	
	if(confirmed != false) {
	
		var names = new Array("title", "forename", "surname", "address1", "address2", "address3", "town", "county", "postcode");
		
		var form = document.forms["details"];
		
		for(i=0; i<9; i++) {
			
			var name = "d_" + names[i];
			
			if(form.elements[name].disabled == true) { form.elements[name].disabled = false; }
			
		}
		
		return true;
		
	} else {
		
		return false;
		
	}
	
}



// Make switch and solo items required ->

function setRequiredFields(curIndex) {
	
	var el = document.forms["payment"].elements["issueNumber"];

	if(curIndex == "Solo" || curIndex == "Switch/Maestro" || curIndex == "Switch" || curIndex == "Maestro") {
	
		el.className = "payment-issue-number checkRequired highlight";
	
		el.value = "";
	
		el.disabled = false;
		
		el.focus();
		
		alert("Please fill your "+ curIndex +" issue number in the highlighted box.");
	
	} else {
	
		el.className = "payment-issue-number";
	
		el.value = "N/A";
		
		el.disabled = true;
	
	}

}



// Enable the "other" source box if needed ->

function setSource(curIndex) {
	
	var el = document.forms["details"].elements["sourceText"];

	if(curIndex == "Other" || curIndex == "other") {
	
		el.className = "source checkRequired highlight";
	
		el.value = "";
	
		el.disabled = false;
		
		el.focus();
		
		alert("Please leave further details in the highlighted box.");
	
	} else {
	
		el.className = "source";
	
		el.value = "N/A";
		
		el.disabled = true;
	
	}

}



// get the address from the finder ->

function addressFinder(postcode) {

	var url = "/cart/includes/finder.php?postcode="+ postcode;

	var string = "addressfinderSelect";
	
	getXmlObject(url, string);
	
}

function fillAddressFromFinder(id, postcode) {
	
	// address line 1 ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=line1";
	
	var string = "s_address1";
	
	getXmlObject(url, string);
	
	// address line 2 ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=line2";
	
	var string = "s_address2";
	
	getXmlObject(url, string);
	
	// address line 3 ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=line3";
	
	var string = "s_address3";
	
	getXmlObject(url, string);
	
	// town ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=post_town";
	
	var string = "s_town";
	
	getXmlObject(url, string);
	
	// county ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=county";
	
	var string = "s_county";
	
	getXmlObject(url, string);
	
	// postcode ->

	var url = "/cart/includes/finder.php?id="+ id +"&type=postcode";
	
	var string = "s_postcode";
	
	getXmlObject(url, string);
	
}