// JavaScript Document

var mubForm = {

	addListeners: function () {
		if (!document.getElementsByTagName || !document.getElementById)
			return;		
		
		// set listeners
		if (document.getElementById('mub_Order')) {
			//		quantities
			for (i=0; i < mubForm.arrColours.length; i++) {
				var txtQty = document.getElementById('qty_' + mubForm.arrColours[i]);
				rwScript.addEvent(txtQty, 'change', mubForm.getQtyChange(txtQty), false);
				rwScript.addEvent(txtQty, 'focus', mubForm.getQtyFocus(txtQty), false);
			}
					
			// 		address stuff
			var cboCountry = document.getElementById('cnCountry');
			rwScript.addEvent(cboCountry, 'change', mubForm.getCountryChange(cboCountry), false);
			var txtOtherCountry = document.getElementById('cnOtherCountry');
			var lblCountry = document.getElementById('lblCountry');
			var lblOtherCountry = document.getElementById('lblOtherCountry');
			if (cboCountry.value == "Australia") {
				txtOtherCountry.disabled = true;
				txtOtherCountry.style.display = 'none';
				lblOtherCountry.style.display = 'none';
				lblCountry.style.display = 'inline';
			} else {
				txtOtherCountry.disabled = false;
				txtOtherCountry.style.display = 'block';
				lblOtherCountry.style.display = 'inline';
				lblCountry.style.display = 'none';
			}
			
			// 		form submission
			var frmOrder = document.getElementById('mub_Order');
			rwScript.addEvent(frmOrder, 'submit', mubForm.formSubmit, false);
	
			// re-total form
			mubForm.retotalForm();
		}
	},

// Form Totalling Function
	retotalForm: function () {
		var txtTotalBags = document.getElementById('totalBags');
		var txtGST = document.getElementById('gst');
		var txtShipping = document.getElementById('shipping');
		var txtOrderTotal = document.getElementById('orderTotal');
		var intQtyTotal = 0;
		
		for (i=0; i < mubForm.arrColours.length; i++) {
			var txtQty = document.getElementById('qty_' + mubForm.arrColours[i]);
			
			intQtyTotal = intQtyTotal + parseInt(txtQty.value);
		}
		
		var cboCountry = document.getElementById('cnCountry');
		if (cboCountry.value == "Australia") {
			var sngShipping = (Math.floor(intQtyTotal / 2) * mubForm.sngShipping_AUS_Special) + ((intQtyTotal % 2) * mubForm.sngShipping_AUS);
			var sngOrderTotal = (Math.floor(intQtyTotal / 2) * mubForm.sngBagCost_Special) + ((intQtyTotal % 2) * mubForm.sngBagCost) + sngShipping;
		} else {
			var sngShipping = mubForm.sngShipping_INT * intQtyTotal;
			var sngOrderTotal = (intQtyTotal * mubForm.sngBagCost) + sngShipping;
		}
		var sngGST = sngOrderTotal * 0.1;
		sngOrderTotal = sngOrderTotal + sngGST;
		
		// Display New Totals
		txtTotalBags.value = intQtyTotal;
		txtGST.value = '$' + sngGST.toFixed(2);
		txtShipping.value = '$' + sngShipping.toFixed(2);
		txtOrderTotal.value = '$' + sngOrderTotal.toFixed(2);
	},

	qtyChange: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		mubForm.retotalForm();
	
	},
	getQtyChange: function (node) { return function(e) { mubForm.qtyChange(e, node); }; },

	qtyFocus: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		el.select();
	
	},
	getQtyFocus: function (node) { return function(e) { mubForm.qtyFocus(e, node); }; },

// Country Change: Update Shipping Amount
	countryChange: function (e, targetElement) {
		var el = window.event ? targetElement : e ? e.currentTarget : null;
		if (!el) return;
		
		var txtOtherCountry = document.getElementById('cnOtherCountry');
		var lblCountry = document.getElementById('lblCountry');
		var lblOtherCountry = document.getElementById('lblOtherCountry');
		if (el.value == "Australia") {
			txtOtherCountry.disabled = true;
			txtOtherCountry.style.display = 'none';
			lblOtherCountry.style.display = 'none';
			lblCountry.style.color = '#656565';
		} else {
			txtOtherCountry.disabled = false;
			txtOtherCountry.style.display = 'block';
			lblOtherCountry.style.display = 'inline';
			lblCountry.style.color = '#ffffff';
		}
		
		mubForm.retotalForm();
	
	},
	getCountryChange: function (node) { return function(e) { mubForm.countryChange(e, node); }; },

// Form Submission
	formSubmit: function(e) {
		var el = window.event ? window.event.srcElement : e ? e.target : null;
		if (!el) return;

		// Enable all Form Fields
		var txtGST = document.getElementById('gst');
		var txtShipping = document.getElementById('shipping');
		var txtOrderTotal = document.getElementById('orderTotal');
		txtGST.disabled = false;
		txtShipping.disabled = false;
		txtOrderTotal.disabled = false;
		
	},

	sngBagCost: 39.95,
	sngBagCost_Special: 63.636,
	sngShipping_AUS: 8,
	sngShipping_AUS_Special: 9.091,
	sngShipping_INT: 15,
	arrColours: [1,2,3,4,5,6,7,8,9,10]

};

rwScript.addEvent(window, 'load', mubForm.addListeners, false);
rwScript.addEvent(window, 'unload', EventCache.flush, false);