	addLoadEvent(_addOnChange);
	addLoadEvent(hideMonths);
	
	function _addOnChange() {
		if (document.getElementById('basketForm')) {
			var form = document.getElementById('basketForm');
			var select = form.getElementsByTagName('select');
			for (var x = 0 ; x < select.length ; x++ ) {
				select[x].onchange = submitForm;
			}
			//now the input boxes...
			var input = form.getElementsByTagName('input');
			for (var x = 0 ; x < input.length ; x++ ) {
				input[x].onclick = submitForm;
			}
			//jsFallbackBasket
			var button = document.getElementById('jsFallbackBasket');
			button.style.display = "none";
		}
	}

	function submitForm() {
		var form = document.getElementById('basketForm');
		if (typeof(form) != null) {
			if (typeof(this.id) == null || this.id == '') {
				var item = this.parentNode;
				while(typeof(item.id) == null || item.id == '') {
					var item = item.parentNode;
				}
				form.action = form.action + '#' + item.id;
			} else {
				form.action = form.action + '#' + this.id;
			}
			form.submit();
		}
	}
	
	function hideMonths() {
		if (!document.getElementById('basketForm')) return true;
		//Show selected day
		var showSelected = document.getElementById('showSelected');
		
		var selectedRange = document.getElementById('selectedRange').innerHTML;
		
		var newdiv = document.createElement("div");
		newdiv.innerHTML = "Selected Date: <strong id='showSelectedStrong'>" + selectedRange + " (Return Date)<\/strong>";

		showSelected.appendChild(newdiv);
		//If the user change the day to rent then highlight it
		if (window.location.href.indexOf("#hire-lenght-select") != -1) {
			window.document.location = "#basketForm";
			colorFade("basePrice", "background", "highlight", 25, 30, true);
		} else if (window.location.href.indexOf("#jumptoHireDates")  != -1) {
			//Else Highlight Selected days
			colorFade("showSelectedStrong", "background", "highlight", 25, 30, true);
		}
		//
		var holder = document.getElementById("available-hire");
		//hide the months that aren't needed
		var months = holder.getElementsByTagName("ul");
		for (var i = 0; i < months.length; i ++) {
			//if (i != 0) 
			months[i].style.display = "none";
		}
		//find the h4
		var h4 = holder.getElementsByTagName("h4");
		for (var i = 0; i < h4.length; i ++) {

			h4[i].childNodes[0].onclick = showMonth;
			//h4[i].childNodes[0].setAttribute('onclick', 'showMonth("'+i+'", this); return false');
			
		}
	}
	
	function showMonth(num, selected) {
		var getParent = this.parentNode.parentNode;
		var theUL = getParent.getElementsByTagName("ul");
		hide = theUL[0];
		if (hide.style.display == "block") {
			hide.style.display = "none";
			this.className = "";
		} else {
			hide.style.display = "block";
			this.className = "selected";
		}
	}
	
