// JavaScript Document
var displayForm = false;

// prepare the form when the DOM is ready 
$(document).ready(function() { 
	var options = { 
		beforeSubmit: validateLogin	// pre-submit callback 
	}; 
	// bind form using 'ajaxForm' 
	$('#loginForm').ajaxForm(options); 
}); 

function validateLogin(formData, jqForm, options) { 
	// jqForm is a jQuery object which wraps the form DOM element 
	var form = jqForm[0]; 

	if (!form.txtUserName.value || !form.txtPassword.value
	|| form.txtUserName.value == form.txtUserName.defaultValue || form.txtPassword.value == form.txtPassword.defaultValue) { 
			alert('Please enter your Username and Password'); 
			return false; 
	} else {
		form.submit();
	}
}

$(document).ready(function(){
	$('#testForm').ajaxForm({ 
		target: '#resultTarget',		 // target identifies the element(s) to update with the server response 
		clearForm: false,				 // clear all form fields after successful submit
		url: 'process.php',				 // override for form's 'action' attribute  
		beforeSubmit: validateTestDrive, // pre-submit callback 
		success: showResponse			 // post-submit callback 
	}); 
}); 

function validateTestDrive(formData, jqForm, options) { 
	// jqForm is a jQuery object which wraps the form DOM element 
	var form = jqForm[0]; 

	if (form.tdName.value == "" || form.tdInfo.value == "" 
	|| form.tdName.value == form.tdName.defaultValue || form.tdInfo.value == form.tdInfo.defaultValue) { 
		alert('Please enter your full name and contact information'); 
		return false; 
	}

	if (!validatePhone(form.tdInfo.value) && !validateEmail(form.tdInfo.value)) {
		alert('Please enter your Phone Number or E-Mail Address in contact information'); 
		return false; 
	}

	return true;
}

// post-submit callback 
function showResponse(responseText, statusText)  { 
	if(!displayForm) {
		$('#testForm').clearForm();
		$('#tdName').val("Send us your full name,");
		$('#tdInfo').val("and contact information");
	}
	$('#resultTarget').fadeIn('slow'); 
} 


$(document).ready(function(){
	$('#rentalForm').ajaxForm({ 
		target: '#resultTarget2',		 // target identifies the element(s) to update with the server response 
		clearForm: false,				 // clear all form fields after successful submit
		url: 'process.php',				 // override for form's 'action' attribute  
		beforeSubmit: validateRental,	 // pre-submit callback 
		success: showResponse2			 // post-submit callback 
	}); 

	$('#orStartDate, #orEndDate').datepicker({
		beforeShow: customRange,
		dateFormat: "mm.dd.yy",
		firstDay: 1, 
		changeFirstDay: false
	});

    $("#orStartTime").timePicker({startTime:new Date(0, 0, 0, 5, 0, 0), endTime:new Date(0, 0, 0, 23, 45, 0), show24Hours:false, separator:':', step: 15});
    $("#orEndTime").timePicker({startTime:new Date(0, 0, 0, 5, 0, 0), endTime:new Date(0, 0, 0, 23, 45, 0), show24Hours:false, separator:':', step: 15});

}); 

function customRange(input) { 
	var today = new Date(); //Today's date
	var dayRange = 180; // Set this to the range of days you want to restrict to
	var min = new Date(); //Set this to your absolute minimum date
	var dateMin = min;
	var dateMax = new Date(today.getFullYear(), today.getMonth(), today.getDate() + dayRange); //Set this to your absolute maximum date

	if (input.id == "orStartDate") {
		if ($("#orEndDate").datepicker("getDate") != null) {
			//dateMax = $("#orEndDate").datepicker("getDate");
			dateMin = $("#orEndDate").datepicker("getDate");
			dateMin.setDate(dateMin.getDate() - dayRange);
			if (dateMin < min) dateMin = min;
		} 
	} else if (input.id == "orEndDate") {
		today = new Date(); //Set this to your absolute maximum date
		dateMax = new Date(today.getFullYear(), today.getMonth(), today.getDate() + dayRange)
		if ($("#orStartDate").datepicker("getDate") != null) {
			dateMin = $("#orStartDate").datepicker("getDate");
			var rangeMax = new Date(dateMin.getFullYear(), dateMin.getMonth(), dateMin.getDate() + dayRange);
			if(rangeMax < dateMax) dateMax = rangeMax; 
		}
	}

	return {minDate: dateMin, maxDate: dateMax}; 
}

function validateRental(formData, jqForm, options) { 
	// jqForm is a jQuery object which wraps the form DOM element 
	var form = jqForm[0]; 

	if (form.orName.value == "" || form.orInfo.value == "" 
	|| form.orName.value == form.orName.defaultValue || form.orInfo.value == form.orInfo.defaultValue) { 
		alert('Please enter your full name and contact information'); 
		return false; 
	}

	if (!validatePhone(form.orInfo.value) && !validateEmail(form.orInfo.value)) {
		alert('Please enter your Phone Number or E-Mail Address in contact information'); 
		return false; 
	}

	if (form.orVan.checked == false && form.orScooter.checked == false && form.orWheelChair.checked == false && form.orOxygen.checked == false) {
		alert('Please select which type of rental equipment you need'); 
		return false; 
	}

	if (form.orFL.checked == false && form.orAL.checked == false && form.orMS.checked == false) {
		alert('Please select rental location'); 
		return false; 
	}

	if (form.orAddr.value == "" || form.orAddr.value == form.orAddr.defaultValue) { 
		alert('Please enter address in your city'); 
		return false; 
	}

	if (form.orStartDate.value == "" || form.orStartDate.value == form.orStartDate.defaultValue) { 
		alert('Please enter pickup date'); 
		return false; 
	}

	if (form.orStartTime.value == "" || form.orStartTime.value == form.orStartTime.defaultValue) { 
		alert('Please enter pickup time'); 
		return false; 
	}

	if (form.orEndDate.value == "" || form.orEndDate.value == form.orEndDate.defaultValue) { 
		alert('Please enter return date'); 
		return false; 
	}

	if (form.orEndTime.value == "" || form.orEndTime.value == form.orEndTime.defaultValue) { 
		alert('Please enter return time'); 
		return false; 
	}

	return true;
}

// post-submit callback 
function showResponse2(responseText, statusText)  { 
	if(!displayForm) {
		$('#rentalForm').clearForm();
		$('#orName').val("Full Name");
		$('#orInfo').val("Contact Information");
		$('#orAddr').val("Address in your city:");
		$('#orStartDate').val("Date");
		$('#orStartTime').val("Time");
		$('#orEndDate').val("Date");
		$('#orEndTime').val("Time");
	}
	$('#resultTarget').fadeIn('slow'); 
} 