// JavaScript Document
	$(document).ready(function() {

			var HH = $('#HH').val();
			var MM = $('#MM').val();
			var AM_PM = $('#AM_PM').val();
			var Day = $('#Date').val();
			
			var newHH = "";
			var newMM = "";
			var newAM_PM = "";
			var newDay = "";
			
			//hide messages on page load
			$('#valMsg').hide();
			$('#pastDateValidation').hide();
			
			//When dropdown select box - if changed to Arrive Before [check current date/time is not what is "selected" by default i.e. 'now'] 
			//then show warning, else hide warning.
			$('#IsAfter').change(function() {	
				if ((newHH == "" && newHH != HH) && (newMM == "" && newMM != MM) && (newAM_PM == "" && newAM_PM != AM_PM) && (newDay == "" && newDay != Day)) {
					if ($(this).attr("value")=="B") {
							$('#valMsg').show(100);
							/*$('#valMsg').css('display', 'inline');*/
						} else {
							$('#valMsg').hide();
							$('#pastDateValidation').hide();
					}
				}
			});
			
			//If HH, MM, AM_PM or Date dropdown boxes are changed hide the warning message
			$('#HH').change(function() {
				newHH = $(this).val();
				$('#valMsg').hide();
				$('#pastDateValidation').hide();
			});
			$('#MM').change(function() {
				newMM = $(this).val();		 
				$('#valMsg').hide();
				$('#pastDateValidation').hide();
			});
			$('#AM_PM').change(function() {
				newAM_PM = $(this).val();				
				$('#valMsg').hide();
				$('#pastDateValidation').hide();
			});
			$('#Date').change(function() {
				newDay = $(this).val();			   
				$('#valMsg').hide();
				$('#pastDateValidation').hide();
			});
			
			//When the user "Resets" the form reset all values and hide valMsg div
			$('#btnResetForm').click(function() {
				HH = $('#HH').val();
				MM = $('#MM').val();
				AM_PM = $('#AM_PM').val();
				Day = $('#Date').val();
				newHH = "";
				newMM = "";
				newAM_PM = "";
				newDay = "";
				$('#valMsg').hide();
				$('#pastDateValidation').hide();			
			});
			
			$('#journeyPlannerForm').submit(function(){				

				// From and To Validation //		
				
				//clear any previous validation messages
				$('#errorsInValidation').empty();
				$('#errorsInValMsgFrom').empty();
				$('#errorsInValMsgTo').empty();

				//FromStreet, FromSuburb, ToStreet, ToSuburb validation
				var FromStreet = $('#FromStreet').val();
				var FromSuburb = $('#FromSuburb').val();
				var ToStreet = $('#ToStreet').val();
				var ToSuburb = $('#ToSuburb').val();
				//CSS style - bottom border added to FROM or TO div, change color of from/to headings to red when validating
				var cssObj = {'marginBottom' : '6px', 'paddingBottom' : '4px', 'borderBottom' : '1px solid #ddd'};
				var cssObjHeader = {'color' : '#FF0000'};
				var cssObjHeaderNormal = {'color' : '#777777'};
				
				//set the html for error messages
				$("<h4>Errors in Form Submission</h4>").appendTo("#errorsInValidation");
				$("<div>Please enter a From <strong>Street or Stop No</strong> AND/OR a From <strong>Suburb or Landmark</strong></div>").appendTo("#errorsInValMsgFrom");
				$("<div>Please enter a To <strong>Street or Stop No</strong> AND/OR a To <strong>Suburb or Landmark</strong></div>").appendTo("#errorsInValMsgTo");
				
				//checking
				if (FromStreet == "" && FromSuburb == "" && ToStreet == "" && ToSuburb == "") {
					$('#errorsInValidation').show();
					$('#errorsInValMsgFrom').show();
					$('#errorsInValMsgTo').show();
					$('#errorsInValMsgTo').css(cssObj);
					$('#HeaderFromStreet').css(cssObjHeader);
					$('#HeaderFromSuburb').css(cssObjHeader);
					$('#HeaderToStreet').css(cssObjHeader);
					$('#HeaderToSuburb').css(cssObjHeader);
					$("#FromStreet").focus();
					return false;
				}
				
				if (FromStreet == "" && FromSuburb == "") {
					$('#errorsInValidation').show();
					$('#errorsInValMsgFrom').show();
					$('#errorsInValMsgTo').hide();
					$('#errorsInValMsgFrom').css(cssObj);
					$('#HeaderFromStreet').css(cssObjHeader);
					$('#HeaderFromSuburb').css(cssObjHeader);
					$('#HeaderToStreet').css(cssObjHeaderNormal);
					$('#HeaderToSuburb').css(cssObjHeaderNormal);					
					$("#FromStreet").focus();
					return false;					
				}
				
				if (ToStreet == "" && ToSuburb == "") {
					$('#errorsInValidation').show();
					$('#errorsInValMsgFrom').hide();
					$('#errorsInValMsgTo').show();
					$('#errorsInValMsgTo').css(cssObj);
					$('#HeaderFromStreet').css(cssObjHeaderNormal);
					$('#HeaderFromSuburb').css(cssObjHeaderNormal);
					$('#HeaderToStreet').css(cssObjHeader);
					$('#HeaderToSuburb').css(cssObjHeader);	
					$("#ToStreet").focus();
					return false;				
				}
				
				
				// Date Validation //
				
				//perform valudation if "Arrive Before..." is selected:
				if ($('#IsAfter').attr("value")=="B") {

					//validate the DATE/TIME
					//get the selected values of HH, MM, AM_PM, Day (Date)
					HH = $('#HH').val();
					MM = $('#MM').val();
					AM_PM = $('#AM_PM').val();
					Day = $('#Date').val();
	
					//get todays date and time:
					var dateTimeNow = new Date();
					
					//get selected time
					var sTime = HH + ":" + MM + " " + AM_PM;
		
					//convert time to 24hr clock
					function convert(time){
						var conv = new Date(Date.parse('1/1/2000 ' + time));
						var str = (conv.getHours() + ":") + (conv.getMinutes() < 9 ? "0" : "") + (conv.getMinutes() + "");
						return str;
					}
					
					//get convert selectedDate to date format
					Day = Day + " " + convert(sTime);
					var selectedDate = new Date();
					selectedDate = Date.parse(Day);
						//date check - if date occurs in past AND "Arrive Before" is selected: Alert the user:
						if (selectedDate < dateTimeNow){
							//date/time occurs in PAST
							var r = confirm("The date/time selected occurs in the past. Please confirm if you wish to continue.");
							if (r == true){
								//User selects 'OK'
								return true;
							}
							else {
								//User selects 'Cancel'
								$('#pastDateValidation').show();
								$('#valMsg').hide();
								return false;
							}
						}
						
					}; // END of [if ($('#IsAfter').attr("value")=="B") {	]
					
			}); // END of [$('#journeyPlannerForm').submit(function(){	]
				
		}); // END of [$(document).ready(function() {	]
		
	




