var $j = jQuery.noConflict(); 
	var today = "<?php echo Mage::getModel('core/date')->date('d/m/Y'); ?>";
	var currentTime = "<?php echo $this->getRoundedStartTime(); ?>";
	
	$j(function() {
		var dates = $j( "#from, #to" ).datepicker({
			//defaultDate: "+1w",
			changeMonth: true,
			numberOfMonths: 1,
			dateFormat: 'dd/mm/yy',
			minDate: 0,
			//minDate: "+4D",
			//maxDate: "+3W",
			onSelect: function( selectedDate ) {
				var option = this.id == "from" ? "minDate" : "maxDate",
					instance = $j( this ).data( "datepicker" ),
					date = $j.datepicker.parseDate(
													instance.settings.dateFormat ||
													$j.datepicker._defaults.dateFormat,
													selectedDate, instance.settings );
					dates.not( this ).datepicker( "option", option, date );
				
				//form variables
				var fromdate = $j("#from");
				var fromtime = $j("#time3");
				var fromdateError = $j("#error");
				var fromtimeError = $j("#error");
				
				var enddate = $j("#to");
				var endtime = $j("#time4");
				var enddateError = $j("#error");
				var endtimeError = $j("#error");
				
				var formSubmit = $j("#quote-submit");

				if(fromdate.val() != today){
					fromtime.removeClass("error");
					fromtimeError.html('');
					fromdateError.html('');
					formSubmit.removeClass('disabled');
					formSubmit.removeAttr('disabled');
				} else {
					if(fromtime.val() < currentTime){
						fromtime.addClass("error");
						fromtimeError.html('<span>Start time must be '+ currentTime + ' or later</span>');
						//fromdateError.html('<span>Is date correct?</span>');
						formSubmit.addClass('disabled');
						formSubmit.attr('disabled','true');
					}
				}
				
				if(enddate.val() == fromdate.val() && endtime.val() <= fromtime.val() ){
					endtime.addClass("error");
					endtimeError.html('<span>Pick up time must be later than drop off time</span>');
					//enddateError.html('<span>Is date correct?</span>');
					formSubmit.addClass('disabled');
					formSubmit.attr('disabled','true');
				} else {
					endtime.removeClass("error");
					endtimeError.html('');
					enddateError.html('');
					formSubmit.removeClass('disabled');
					formSubmit.removeAttr('disabled');
				}
				
			}
		});
		
		// Use default settings
		$j("#time3").timePicker({
			startTime: "0.00",
			endTime: "23.45",
			separator:'.',
			step: 15
		});
		
		$j("#time4").timePicker({
		startTime: "0.00",
		endTime: "23.45",
		separator:'.',
		step: 15});
		    
		// Store time used by duration.
		var oldTime = $j.timePicker("#time3").getTime();
		
		// Keep the duration between the two inputs and validate start time
		$j("#time3").change(function() {
			var fromdate = $j("#from");
			var fromtime = $j("#time3");
			var fromdateError = $j("#error");
			var fromtimeError = $j("#error");
			
			var enddate = $j("#to");
			var endtime = $j("#time4");
			
			var formSubmit = $j("#quote-submit");
			
			/*if ($j("#time4").val()) { // Only update when second input has a value.
				// Calculate duration.
				var duration = ($j.timePicker("#time4").getTime() - oldTime);
				var time = $j.timePicker("#time3").getTime();
				// Calculate and update the time in the second input.
				if(fromdate.val() == enddate.val()){
					$j.timePicker("#time4").setTime(new Date(new Date(time.getTime() + duration)));
				}
				oldTime = time;
			}*/
			
			if(fromdate.val() == today && fromtime.val() < currentTime ) {
				$j(this).addClass("error");
				fromtimeError.html('<span>Start time must be '+ currentTime + ' or later</span>');
				fromdateError.html('');
				formSubmit.addClass('disabled');
				formSubmit.attr('disabled','true');
			}
			else if(fromdate.val() == enddate.val() && fromtime.val() > endtime.val() ) {
				$j(this).addClass("error");
				fromdateError.html('');
				fromtimeError.html('<span>Drop off time must be earlier than pick up time</span>');
				formSubmit.addClass('disabled');
				formSubmit.attr('disabled','true');
			}
			else {
				$j(this).removeClass("error");
				$j("#time4").removeClass("error");
				fromtimeError.html('');
				fromdateError.html('');
				formSubmit.removeClass('disabled');
				formSubmit.removeAttr('disabled');
			}
		});
		// Validate end time
		$j("#time4").change(function() {
			//variables
			var fromdate = $j("#from");
			var todate = $j("#to");
			var enddateError = $j("#error");
			var endtimeError = $j("#error");
			var formSubmit = $j("#quote-submit");
			
		  if(fromdate.val() == todate.val() && $j.timePicker("#time3").getTime() > $j.timePicker(this).getTime()) {
		    	$j(this).addClass("error");
		    	enddateError.html('');
		    	endtimeError.html('<span>Pick up time must be later than drop off time</span>');
		    	formSubmit.addClass('disabled');
		    	formSubmit.attr('disabled','true');
		  }
		  else {
		    	$j(this).removeClass("error");
		    	$j("#time3").removeClass("error");
		    	endtimeError.html('');
		    	enddateError.html('');
		    	formSubmit.removeClass('disabled');
		    	formSubmit.removeAttr('disabled');
		  }
		});
	});
