function update_quantity() {
	var table = document.getElementById("batch_picker");
	var inputs = table.getElementsByTagName("input");

	var ordered = parseInt(document.getElementById("ordered").value);
	var selected = 0;

	var parts = new Array();

	for(var i=0; i<inputs.length; i++) {
		if(selected >= ordered) {
			inputs[i].checked = false;
		}

		if(inputs[i].checked) {
			var qty = parseInt(inputs[i].value);
			selected += qty;
		}
	}

	select_batch();
}

function select_batch() {
	var save = document.getElementById("save_changes");
	var table = document.getElementById("batch_picker");
	var rows = table.getElementsByTagName("tr");
	var error_string = "";

	var err = document.getElementById("error_message");
	while(err.hasChildNodes()) {
		err.removeChild(err.childNodes[0]);
	}

	var errors = false;
	var batches_ok = true;

	var inputs = table.getElementsByTagName("input");

	var ordered = parseInt(document.getElementById("ordered").value);
	var selected = 0;
	var available = 0;
	var all_batches = true;
	var first = true;

	var parts = new Array();

	for(var i=0; i<inputs.length; i++) {
		var qty = parseInt(inputs[i].value);
		available += qty;

		if(inputs[i].checked) {
			selected += qty;
		}
		else {
			all_batches = false;
		}
	}

	if(selected < ordered) {
		var outstanding = ordered - selected;

		if(true || all_batches) {
			err.appendChild(document.createTextNode("Outstanding quantity of "+outstanding+" will be placed on backorder."));
		}
		else {
			err.appendChild(document.createTextNode("Outstanding quantity of "+outstanding+".  Please select more batches to fulfill your order."));
		}

		err.appendChild(document.createElement("br"));
		errors = true;
	}

	if(selected >= ordered) {
		/* we have picked sufficient batches, so disable any unchecked batches */
		for(var i=0; i<inputs.length; i++) {
			if(inputs[i].checked) inputs[i].disabled = false;
			else inputs[i].disabled = true;
		}
		save.disabled = false;
/*
		if(!part["all_batches"]) {
			err.appendChild(document.createTextNode("Please select more batches for "+key));
			batches_ok = false;
		}
		if(part["ordered"] > part["available"]) {
		}
*/
	}

	else {
		/* outstanding qty so enable all the batches */
		for(var i=0; i<inputs.length; i++) {
			inputs[i].disabled = false;
		}

		if(true || all_batches) save.disabled = false;
		else save.disabled = true;
	}


//	if(!batches_ok) save.disabled = true;
//	else save.disabled = false;

	if(errors) {
		err.style.display = "block";
	}
	else {
		err.style.display = "none";
	}
}

function check_cv2(form) {
	var cv2 = form.cv2.value;
	var error = false;

	if(cv2.length == 0) {
		error = "Please enter the 3 digit security code.";
	}

	else if(cv2.length != 3) {
		error = "Security code should be 3 digits.";
	}

//	else if(parseInt(cv2) != cv2) {
//		error = "The security code must be a number.";
//	}

	if(error) {
		alert(error);
		return false;
	}

	return true;
}

function show_3d_secure() {
	parent.document.getElementById("processing").style.display="none";
	parent.document.getElementById("three_dee_info").style.display="block";
	parent.document.getElementById("payment").style.display="block";
	document.form.submit();
}

