  var formsubmitted = false;

  // VALIDATE SECTION 1
	function validateSection1() {
		var forminvalid = false;
		var formtext = "";
		formtext = 'Error! Please include the following details:\n\n';
		if (document.form.forename.value == "") {
			formtext = formtext + '  - First Name\n';
			forminvalid = true;
		}
		if (document.form.surname.value == "") {
			formtext = formtext + '  - Surname\n';
			forminvalid = true;
		}
		if (document.form.post_code.value == "") {
			formtext = formtext + '  - Post Code\n';
			forminvalid = true;
		}
		if (document.form.mobile_number.value == "") {
			formtext = formtext + '  - Mobile Number\n';
			forminvalid = true;
		}
		if (document.form.email.value == "") {
			formtext = formtext + '  - Email Address\n';
			forminvalid = true;
		}
		//if (document.form.home_number.value || document.form.business_number.value || document.form.mobile_number.value)
		//{
			// do nothing
		//}
		//else
		//{
			//formtext = formtext + '  - At Least 1 Phone Number\n';
			//forminvalid = true;
		//}
		if (forminvalid == true)
		{
			alert(formtext);
			return false;
		}
		else
		{
			//document.getElementById("section1heading").style.display = 'none';
			document.getElementById("infoSection").style.display = 'block';
			document.getElementById("videoSectionNew").style.display = 'none';
			document.getElementById("section1").style.display = 'none';
			document.getElementById("step1").style.display = 'none';
			pageTracker._trackPageview('/johnhughes_service_form_step1.php');
			//new Effect.Appear(document.getElementById('section2heading'));
			new Effect.Appear(document.getElementById('section2'));
			document.getElementById("step2").style.display = 'block';
		}
  }
	
  // VALIDATE SECTION 2
	function validateSection2() {
		var forminvalid = false;
		var formtext = "";
		formtext = 'Error! Please include the following details:\n\n';
		if (document.form.make[0].checked || document.form.make[1].checked || document.form.make[2].checked || document.form.make[3].checked || document.form.make[4].checked || document.form.make[5].checked || document.form.make[6].checked || document.form.make[7].checked || document.form.make[8].checked || document.form.make[9].checked)
		{
			// do nothing
		}
		else
		{
			formtext = formtext + '  - Make\n';
			forminvalid = true;
		}
		if (document.form.model.value == "") {
			formtext = formtext + '  - Model\n';
			forminvalid = true;
		}
		if (document.form.registration.value == "") {
			formtext = formtext + '  - Registration\n';
			forminvalid = true;
		}
		if (forminvalid == true)
		{
			alert(formtext);
			return false;
		}
		else
		{
			//document.getElementById("section2heading").style.display = 'none';
			document.getElementById("section2").style.display = 'none';
			document.getElementById("step2").style.display = 'none';
			pageTracker._trackPageview('/johnhughes_service_form_step2.php');
			//new Effect.Appear(document.getElementById('section3heading'));
			new Effect.Appear(document.getElementById('section3'));
			new Effect.Appear(document.getElementById('step3'));
		}
  }
	
  // VALIDATE SECTION 3
	function validateSection3() {
		var forminvalid = false;
		var formtext = "";
		formtext = 'Error! Please include the following details:\n\n';
		if (document.form.Date_Requested.value == "") {
			formtext = formtext + '  - Date Requested\n';
			forminvalid = true;
		}
		if (document.form.time_of_day.value == "") {
			formtext = formtext + '  - Drop Off Time\n';
			forminvalid = true;
		}
		if (document.form.securitycheck_code_1.value == "") {
			formtext = formtext + '  - Anti-Spam Check\n';
			forminvalid = true;
		}
		// if (document.form.time_hour.value == "") {
			// formtext = formtext + '  - Time Requested (Time of Day)\n';
			// forminvalid = true;
		// }
		if (forminvalid == true)
		{
			alert(formtext);
			return false;
		}
		else
		{
			//document.getElementById("section3heading").style.display = 'none';
			document.getElementById("section3").style.display = 'none';
			document.getElementById("step3").style.display = 'none';
			document.getElementById("info4").style.display = 'block';
			pageTracker._trackPageview('/johnhughes_service_form_step3.php');
			//new Effect.Appear(document.getElementById('section4heading'));
			new Effect.Appear(document.getElementById('section4'));
			new Effect.Appear(document.getElementById('step4'));
			document.getElementById("info1").style.display = 'none';
		}
  }
	


	// RETURN TO SECTION 1
	function returnToSection1() {
			//document.getElementById("section2").style.display = 'none';
			//document.getElementById("step2").style.display = 'none';
			//new Effect.Appear(document.getElementById('section1'));
			//new Effect.Appear(document.getElementById('step1'));
			
			new Effect.Appear(document.getElementById('section1'));
			document.getElementById("infoSection").style.display = 'none';
			document.getElementById("videoSectionNew").style.display = 'block';
			document.getElementById("section2").style.display = 'none';
			document.getElementById("step2").style.display = 'none';
			
			
	}
	
  // RETURN TO SECTION 2
	function returnToSection2() {
			//document.getElementById("section3heading").style.display = 'none';
			document.getElementById("section3").style.display = 'none';
			document.getElementById("step3").style.display = 'none';
			//new Effect.Appear(document.getElementById('section2heading'));
			new Effect.Appear(document.getElementById('section2'));
			new Effect.Appear(document.getElementById('step2'));
	}
	
  // RETURN TO SECTION 3
	function returnToSection3() {
			//document.getElementById("section4heading").style.display = 'none';
			document.getElementById("section4").style.display = 'none';
			document.getElementById("step4").style.display = 'none';
			document.getElementById("info4").style.display = 'none';
			//new Effect.Appear(document.getElementById('section3heading'));
			new Effect.Appear(document.getElementById('section3'));
			new Effect.Appear(document.getElementById('step3'));
			document.getElementById("info1").style.display = 'block';
	}
	
	// Validate Form Field On Map / Directions
	function validateFields_Directions() {
		var forminvalid = false;
		var formtext = "";
		formtext = 'Error!\n\n';
		formtext = formtext + 'Please review the following errors and re-submit the form:\n\n';
		if (document.directionsForm.address.value == "") {
			formtext = formtext + '  - Your Street Number & Name (Missing)\n';
			forminvalid = true;
		}
		if (document.directionsForm.suburb.value == "") {
			formtext = formtext + '  - Your Suburb Name (Missing)\n';
			forminvalid = true;
		}
		if (forminvalid == true)
		{
			alert(formtext);
			return false;
		}
		else
		{
			setDirections2(document.directionsForm.address.value,document.directionsForm.suburb.value,document.directionsForm.to.value,document.directionsForm.locale.value);
			document.getElementById('directionsArea').style.display='block';
			document.getElementById('map').style.width='509px';
			document.getElementById('mbdr1').style.width='515px';
			document.getElementById('mbdr2').style.width='513px';
			document.getElementById('mbdr3').style.width='511px';
			return true;
		}
	}
	
	function extractNumber(obj, decimalPlaces, allowNegative)
	{
		var temp = obj.value;
		
		// avoid changing things if already formatted correctly
		var reg0Str = '[0-9]*';
		if (decimalPlaces > 0) {
			reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
		} else if (decimalPlaces < 0) {
			reg0Str += '\\.?[0-9]*';
		}
		reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
		reg0Str = reg0Str + '$';
		var reg0 = new RegExp(reg0Str);
		if (reg0.test(temp)) return true;
	
		// first replace all non numbers
		var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
		var reg1 = new RegExp(reg1Str, 'g');
		temp = temp.replace(reg1, '');
	
		if (allowNegative) {
			// replace extra negative
			var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
			var reg2 = /-/g;
			temp = temp.replace(reg2, '');
			if (hasNegative) temp = '-' + temp;
		}
		
		if (decimalPlaces != 0) {
			var reg3 = /\./g;
			var reg3Array = reg3.exec(temp);
			if (reg3Array != null) {
				// keep only first occurrence of .
				//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
				var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
				reg3Right = reg3Right.replace(reg3, '');
				reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
				temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
			}
		}
		
		obj.value = temp;
	}
	function blockNonNumbers(obj, e, allowDecimal, allowNegative)
	{
		var key;
		var isCtrl = false;
		var keychar;
		var reg;
			
		if(window.event) {
			key = e.keyCode;
			isCtrl = window.event.ctrlKey
		}
		else if(e.which) {
			key = e.which;
			isCtrl = e.ctrlKey;
		}
		
		if (isNaN(key)) return true;
		
		keychar = String.fromCharCode(key);
		
		// check for backspace or delete, or if Ctrl was pressed
		if (key == 8 || isCtrl)
		{
			return true;
		}
	
		reg = /\d/;
		var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
		var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
		
		return isFirstN || isFirstD || reg.test(keychar);
	}
