// Code written by Alaric Pether for Knowle Nets Ltd. (c) 2005 Copyright of Knowle Nets Ltd. You may not use this script! 

function calculate_sqr_meter_cost(form)  {

	// Assumes the following hidden fields are defined in the form
	// min_length, max_length, min_width, max_width
	// They can have no value attribute set, in which case they are skipped over

	var verified = true;
	var error_message = "";
	var sqr_meters = 0;
	var price = "";

	// Delete previous imperial conversions of length/width

	form.length2.value = "";
	form.width2.value = "";

	// Check lengths and widths of the user entered data

	if (isNaN(form.width1.value) || isNaN(form.length1.value)) {

		alert("Please enter numerical values for length and width");
		form.calculate_success.value = "no";
		return;

	}

	var length = parseInt(form.length1.value);
	var min_length = parseInt(form.min_length.value);
	var max_length = parseInt(form.max_length.value);

	if (form.min_length.value != "" && form.max_length.value != "") {

	    	if (length < min_length || length > max_length) {

			verified = false;
			error_message += "Lengths between " + form.min_length.value;
			error_message += "m and " + form.max_length.value + "m please\n";

		}

	} else if (form.min_length.value != "" && form.max_length.value == "") {

	    	if (length < min_length) {

			verified = false;
			error_message += "Minimum length is " + form.min_length.value + "m\n";

		}

	} else if (form.max_length.value != "" && form.min_length.value == "") {

	    	if (length > max_length) {

			verified = false;
			error_message += "Maximum length is " + form.max_length.value + "m\n";

		}

	}

	var width = parseInt(form.width1.value);
	var min_width = parseInt(form.min_width.value);
	var max_width = parseInt(form.max_width.value);

	if (form.min_width.value != "" && form.max_width.value != "") {

	    	if (width < min_width || width > max_width) {

			verified = false;
			error_message += "Widths between " + form.min_width.value;
			error_message += "m and " + form.max_width.value + "m please\n";

		}

	} else if (form.min_width.value != "" && form.max_width.value == "") {

	    	if (width < min_width) {

			verified = false;
			error_message += "Minimum width is " + form.min_width.value + "m\n";

		}

	} else if (form.max_width.value != "" && form.min_width.value == "") {

	    	if (width > max_width) {

			verified = false;
			error_message += "Maximum width is " + form.max_width.value + "m\n";

		}

	}

	if (!verified) {

		alert(error_message);
		form.calculate_success.value = "no";

	} else {

		// calculate the cost

		sqr_meters = form.length1.value * form.width1.value;
		price = (sqr_meters * form.price1_per_unit.value) / 100;

		// price needs 2 places of decimal point precision
		price = price.toFixed(2);

		form.price1.value = price;
		form.display_cost.value = price;

		// convert meters to feet and display

		form.length2.value = convert_meters_to_feet(form.length1.value);
		form.width2.value = convert_meters_to_feet(form.width1.value);

		// generate the product description (including length/width)

		form.product1.value = form.product1_default.value;
		form.product1.value += " (" + form.length1.value + "m ";
		form.product1.value += " x " + form.width1.value + "m)";

		// Set the success flag (used by add_sqr_meter_cost)

		form.calculate_success.value = "yes";

	}

}

function add_sqr_meter_cost(form) {

	calculate_sqr_meter_cost(form);

	// calculate_sqr_meter_cost() will set the flag calculate_success
	// so we check whether it has been set with a yes. if so
	// the form can be submitted. If not then no action needs
	// to be taken. calculate_sqr_meter_cost() will take care of all
	// error messages.

	if (form.calculate_success.value == "yes") {

		form.submit();

	}

}

function convert_meters_to_feet(meter_value) {

	var feet_value = Math.floor(meter_value * 3.281 * 100);
	return feet_value / 100;

}

function add_frame_option(option_checkbox, product, product_default, price, calculated_price, qty) {

	if (option_checkbox.checked) {

		product.value = product_default.value;
		product.value += " for " + document.net.product1.value;
		price.value = calculated_price.value;
		qty.value = "1";

	} else {

		product.value = "";
		price.value = "";
		qty.value = "";

	}
}

function calculate_steel_fruitcage() {

	var form = document.net;

	ok1();
	form.product1.value = form.product1_default.value;
	form.product1.value += " (" + form.length1.value + "m ";
	form.product1.value += " x " + form.width1.value + "m)";
	form.price1.value = form.outPut.value;

	// update any checkboxes that are selected

	add_frame_option(	document.net.heavy_selector, 
				document.net.product3, 
				document.net.product3_default,
				document.net.price3,
				document.net.heavy,
				document.net.qty3);

	add_frame_option(	document.net.triflex_selector, 
				document.net.product4, 
				document.net.product4_default, 
				document.net.price4, 
				document.net.triflex, 
				document.net.qty4);

	add_frame_option(	document.net.pigeon_selector, 
				document.net.product5, 
				document.net.product5_default, 
				document.net.price5, 
				document.net.pigeon, 
				document.net.qty5);

	add_frame_option(	document.net.extradoor_selector, 
				document.net.product6, 
				document.net.product6_default, 
				document.net.price6, 
				document.net.extradoor, 
				document.net.qty6);

	add_frame_option(	document.net.doorpost_selector, 
				document.net.product8, 
				document.net.product8_default, 
				document.net.price8, 
				document.net.doorpost, 
				document.net.qty8);

}

function submit_steel_fruitcage() {

	calculate_steel_fruitcage();
	document.net.submit();

}

function calculate_alu_fruitcage() {

	var form = document.net;

	ok1();
	form.product1.value = form.product1_default.value;
	form.product1.value += " (" + form.length1.value + "m ";
	form.product1.value += " x " + form.width1.value + "m)";
	form.price1.value = form.outPut.value;

	// update any checkboxes that are selected

	/*add_frame_option(	document.net.black_frame, 
				document.net.product2, 
				document.net.product2_default, 
				document.net.price2, 
				document.net.black, 
				document.net.qty2);*/

	add_frame_option(	document.net.heavy_selector, 
				document.net.product3, 
				document.net.product3_default,
				document.net.price3,
				document.net.heavy,
				document.net.qty3);

	add_frame_option(	document.net.triflex_selector, 
				document.net.product4, 
				document.net.product4_default, 
				document.net.price4, 
				document.net.triflex, 
				document.net.qty4);

	add_frame_option(	document.net.pigeon_selector, 
				document.net.product5, 
				document.net.product5_default, 
				document.net.price5, 
				document.net.pigeon, 
				document.net.qty5);

	add_frame_option(	document.net.natextradoor_selector, 
				document.net.product6, 
				document.net.product6_default, 
				document.net.price6, 
				document.net.natextradoor, 
				document.net.qty6);

	/*add_frame_option(	document.net.blackextradoor_selector, 
				document.net.product7, 
				document.net.product7_default, 
				document.net.price7, 
				document.net.blackextradoor, 
				document.net.qty7);*/

	add_frame_option(	document.net.natdoorpost_selector, 
				document.net.product8, 
				document.net.product8_default, 
				document.net.price8, 
				document.net.natdoorpost, 
				document.net.qty8);

	/*add_frame_option(	document.net.blacktdoorpost_selector, 
				document.net.product9, 
				document.net.product9_default, 
				document.net.price9, 
				document.net.blacktdoorpost, 
				document.net.qty9);*/

}

function submit_alu_fruitcage() {

	calculate_alu_fruitcage();
	document.net.submit();

}

function calculate_fruitcage() {

	var form = document.net;

	ok1();
	form.product1.value = form.product1_default.value;
	form.product1.value += " (" + form.length1.value + "m ";
	form.product1.value += " x " + form.width1.value + "m)";
	form.price1.value = form.outPut.value;

	// update any checkboxes that are selected

	/*add_frame_option(	document.net.black_selector, 
				document.net.product2, 
				document.net.product2_default, 
				document.net.price2, 
				document.net.black, 
				document.net.qty2);*/

	add_frame_option(	document.net.heavy_selector, 
				document.net.product3, 
				document.net.product3_default,
				document.net.price3,
				document.net.heavy,
				document.net.qty3);

	add_frame_option(	document.net.triflex_selector, 
				document.net.product4, 
				document.net.product4_default, 
				document.net.price4, 
				document.net.triflex, 
				document.net.qty4);

	add_frame_option(	document.net.pigeon_selector, 
				document.net.product5, 
				document.net.product5_default, 
				document.net.price5, 
				document.net.pigeon, 
				document.net.qty5);

}

function submit_fruitcage() {

	calculate_fruitcage();
	document.net.submit();

}

function calculate_veg_cage() {

	var form = document.net;

	ok1();
	form.product1.value = form.product1_default.value;
	form.product1.value += " (" + form.length1.value + "m ";
	form.product1.value += " x " + form.width1.value + "m)";
	form.price1.value = form.outPut.value;

}

function submit_veg_cage() {

	calculate_veg_cage();
	document.net.submit();

}

function calculate_steel_cage() {

	var form = document.net1;

	ok2();
	form.product1.value = form.product1_default.value;
	form.product1.value += " (" + form.length12.value + "m ";
	form.product1.value += " x " + form.width12.value + "m)";
	form.price1.value = form.outPut2.value;

}

function submit_steel_cage() {

	calculate_steel_cage();
	document.net1.submit();

}

// End of code written by Alaric Pether

