function validate_date(){

	var pickhour = document.reserv_1.pickup_hour.selectedIndex;
	var rethour = document.reserv_1.return_hour.selectedIndex;

	var pickup_index_year = document.reserv_1.pickup_date_year.options[document.reserv_1.pickup_date_year.selectedIndex].value;
	var pickup_index_month = document.reserv_1.pickup_date_month.options[document.reserv_1.pickup_date_month.selectedIndex].value;
	var pickup_index_day = document.reserv_1.pickup_date_day.options[document.reserv_1.pickup_date_day.selectedIndex].value;
	var pickup_index_hour = document.reserv_1.pickup_hour.options[document.reserv_1.pickup_hour.selectedIndex].value;
	var pickup_index_minute = document.reserv_1.pickup_minute.options[document.reserv_1.pickup_minute.selectedIndex].value;
	var return_index_year = document.reserv_1.return_date_year.options[document.reserv_1.return_date_year.selectedIndex].value;
	var return_index_month = document.reserv_1.return_date_month.options[document.reserv_1.return_date_month.selectedIndex].value;
	var return_index_day = document.reserv_1.return_date_day.options[document.reserv_1.return_date_day.selectedIndex].value;
	var return_index_hour = document.reserv_1.return_hour.options[document.reserv_1.return_hour.selectedIndex].value;
	var return_index_minute = document.reserv_1.return_minute.options[document.reserv_1.return_minute.selectedIndex].value;
	
	var currentTime = new Date();
	var currentmonth = currentTime.getMonth() + 1;
	var currentday = currentTime.getDate();
	var currentyear = currentTime.getFullYear();

	function validateminute(){
		if(return_index_minute > pickup_index_minute){return true;}
		if(return_index_minute == pickup_index_minute){return true;}
		if(return_index_minute < pickup_index_minute){return true;}
	}
	function validatehour(){
		if(return_index_hour > pickup_index_hour){validateminute();}
		if(return_index_hour == pickup_index_hour){validateminute();}
		if(return_index_hour < pickup_index_hour){validateminute();}
	}
	function validateday(){
		if(return_index_day > pickup_index_day){validatehour();}
		if(return_index_day == pickup_index_day){validatehour();}
		if(return_index_day < pickup_index_day){validatehour();}
	}
	function validatemonth(){
		if(return_index_month > pickup_index_month){validateday();}
		if(return_index_month == pickup_index_month){validateday();}
		if(return_index_month < pickup_index_month){validateday();}
	}
	function validateall(){
		if(pickup_index_year != 0){
			if(pickup_index_month != 0){
				if(pickup_index_day != 0){
					if(return_index_year != 0){
						if(return_index_month != 0){
							if(return_index_day != 0){
								if(pickup_index_year > currentyear){
									if(pickup_index_month > currentmonth){
										if(pickup_index_day > currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day == currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day < currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}									
									}
									if(pickup_index_month == currentmonth){
										if(pickup_index_day > currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day == currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
										if(pickup_index_day < currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
									}
									if(pickup_index_month < currentmonth){
										if(pickup_index_day > currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day == currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
										if(pickup_index_day < currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
									}
								}
								if(pickup_index_year == currentyear){
									if(pickup_index_month > currentmonth){
										if(pickup_index_day > currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day == currentday){
											if(return_index_year > pickup_index_year){validatemonth();}
											if(return_index_year == pickup_index_year){
												if(return_index_month > pickup_index_month){validateday();}
												if(return_index_month == pickup_index_month){
													if(return_index_day > pickup_index_day){validatehour();}
													if(return_index_day == pickup_index_day){
														if(return_index_hour > pickup_index_hour){
															var hourdifferent = rethour-pickhour;
															if(hourdifferent > 1){validateminute();}
															if(hourdifferent == 1){
																if(return_index_minute > pickup_index_minute){return true;}
																if(return_index_minute == pickup_index_minute){return true;}
																if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
														}
														if(return_index_hour == pickup_index_hour){
															if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
															if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
														}
														if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
													}
													if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
												}
												if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
											}
											if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day < currentday){
												if(return_index_year > pickup_index_year){validatemonth();}
												if(return_index_year == pickup_index_year){
													if(return_index_month > pickup_index_month){validateday();}
													if(return_index_month == pickup_index_month){
														if(return_index_day > pickup_index_day){validatehour();}
														if(return_index_day == pickup_index_day){
															if(return_index_hour > pickup_index_hour){
																var hourdifferent = rethour-pickhour;
																if(hourdifferent > 1){validateminute();}
																if(hourdifferent == 1){
																	if(return_index_minute > pickup_index_minute){return true;}
																	if(return_index_minute == pickup_index_minute){return true;}
																	if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
																}
																if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(return_index_hour == pickup_index_hour){
																if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
																if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
																if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
															}
															if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
														}
														if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
													}
													if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
												}
												if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}									
									}
									if(pickup_index_month == currentmonth){
										if(pickup_index_day > currentday){
												if(return_index_year > pickup_index_year){validatemonth();}
												if(return_index_year == pickup_index_year){
													if(return_index_month > pickup_index_month){validateday();}
													if(return_index_month == pickup_index_month){
														if(return_index_day > pickup_index_day){validatehour();}
														if(return_index_day == pickup_index_day){
															if(return_index_hour > pickup_index_hour){
																var hourdifferent = rethour-pickhour;
																if(hourdifferent > 1){validateminute();}
																if(hourdifferent == 1){
																	if(return_index_minute > pickup_index_minute){return true;}
																	if(return_index_minute == pickup_index_minute){return true;}
																	if(return_index_minute < pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
																}
																if(hourdifferent < 1){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
															}
															if(return_index_hour == pickup_index_hour){
																if(return_index_minute > pickup_index_minute){alert("Error. A minimum of 1 Hour Rental are allowed.");return false;}
																if(return_index_minute == pickup_index_minute){alert("Error. Invalid DATE input.");return false;}
																if(return_index_minute < pickup_index_minute){alert("Error. Invalid date MINUTE input.");return false;}
															}
															if(return_index_hour < pickup_index_hour){alert("Error. Invalid date HOUR input.");return false;}
														}
														if(return_index_day < pickup_index_day){alert("Error. Invalid date DAY input.");return false;}
													}
													if(return_index_month < pickup_index_month){alert("Error. Invalid date MONTH input.");return false;}
												}
												if(return_index_year < pickup_index_year){alert("Error. Invalid date YEAR input.");return false;}
										}
										if(pickup_index_day == currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
										if(pickup_index_day < currentday){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
									}
									if(pickup_index_month < currentmonth){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
								}
								if(pickup_index_year < currentyear){alert("Sorry, Reservation can only be made 1 (one) day before date of rental.");return false;}
							}
							if(return_index_day == 0){alert("Error. Please Select RETURN DAY.");return false;}
						}
						if(return_index_month == 0){alert("Error. Please Select RETURN MONTH.");return false;}
					}
					if(return_index_year == 0){alert("Error. Please Select RETURN YEAR.");return false;}
				}
				if(pickup_index_day == 0){alert("Error. Please Select PICKUP DAY.");return false;}
			}
			if(pickup_index_month == 0){alert("Error. Please Select PICKUP MONTH.");return false;}
		}
		if(pickup_index_year == 0){alert("Error. Please Select PICKUP YEAR.");return false;}
	}

	
	if(pickup_index_month==02 && pickup_index_day>=29 && pickup_index_year%4==0 && pickup_index_year%100!=0 && pickup_index_year%400 == 0){
	
		if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%100!=0 && return_index_year%400 == 0){
		return validateall();
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4!=0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%100==0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%400 == 0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else {
		return validateall();
		}
	
	}
	else if(pickup_index_month==02 && pickup_index_day>=29 && pickup_index_year%4!=0){
	alert('Error. Invalid Pick-Up Date');
	return false;
	}
	else if(pickup_index_month==02 && pickup_index_day>=29 && pickup_index_year%4==0 && pickup_index_year%100==0){
	alert('Error. Invalid Pick-Up Date');
	return false;
	}
	else if(pickup_index_month==02 && pickup_index_day>=29 && pickup_index_year%4==0 && pickup_index_year%400 == 0){
	alert('Error. Invalid Pick-Up Date');
	return false;
	}
	else {
	
		if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%100!=0 && return_index_year%400 == 0){
		return validateall();
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4!=0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%100==0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else if(return_index_month==02 && return_index_day>=29 && return_index_year%4==0 && return_index_year%400 == 0){
		alert('Error. Invalid Return Date');
		return false;
		}
		else {
		return validateall();
		}
	
	}

}