//*********************************************
// CUSTOM SETTINGS
var numMinDate = 0;  	// Set a minimum selectable date via a Date object
var numMaxDate = 365;	// Set a maximum selectable date via a Date object
var weekDays = [0,1,2,3,4,5,6];	// Set selectable date via week days, (0-sunday, 6-saturday)
var mode24Hour = false;	// TRUE 24-hours format, FALSE 12-hours format

// DEFAULT TIME SETTING
// TIME SETTING FOR EACH WEEK DAY INSIDE A FUNCTION "setReserTime" BELOW
var startHour = 0;
var endHour = 24;
var intervalMin = ['00','15','30','45'];
//*********************************************
$(function() {
	
	$("#frm_selectDate").datepicker({ 
		minDate: numMinDate, 
		maxDate: numMaxDate, 
//		hideIfNoPrevNext: true,	// IMPORTANT, using THEMES prev & next link show unexpected result, so just hide it
		changeFirstDay: false,
		dateFormat: "DD, MM d, yy",
//		beforeShow: readLinked, 
//		beforeShowDay: $.datepicker.noWeekends,
		beforeShowDay: showCustomWeekDays,
//		onSelect: setReserTime, 
		showOtherMonths: true,
		showOn: "both", 
		buttonImage: "form_img/calendar.gif", 
		buttonImageOnly: true 
	}).attr("readonly", "readonly"); // makes the field not editable
	var now = new Date();
	setReserTime(now.getMonth()+1 +"/"+ now.getDate() +"/"+ now.getFullYear());
	
});

function showCustomWeekDays(date) {
    for (i = 0; i < weekDays.length; i++) {
		  if (date.getDay() == weekDays[i]) {
			  return [true, ''];
		  }
    }
	return [false, ''];
}

function setReserTime(date) {
	//Get day of week 
	var selectedDate = new Date(date);
	$('#frm_selectTime').html("");
	//*********************************************
	// CUSTOM SETTINGS
	//		case 1(monday) - 5(friday)
	//*********************************************
	switch (selectedDate.getDay()){
		case 1:
			startHour = 11;
			endHour = 13;
			intervalMin = ['15','45'];
			break;
		case 2:
			startHour = 11;
			endHour = 13;
			intervalMin = ['15','45'];
			break;
		case 3:
			startHour = 11;
			endHour = 13;
			intervalMin = ['15','45'];
			break;
		case 4:
			startHour = 11;
			endHour = 13;
			intervalMin = ['15','45'];
			break;
		case 5:
			startHour = 11;
			endHour = 13;
			intervalMin = ['15','45'];
			break;
		default :
			// Weekends
			startHour = 17;
			endHour = 21;
	}	
	if (mode24Hour) {
		// 24-Hour format
		
 		for(i=startHour; i < endHour; i++) {
			hours = i;
			// add "AM" or "PM" if the 12-hours format is chosen
			var ampm = ((hours >= 12) ? " PM" : " AM"); 
			hours = ((hours < 10) ? "0" + hours : hours);
		    for (j = 0; j < intervalMin.length; j++) {
				minutes = intervalMin[j];
				time_holder = hours + ":" + minutes + ampm;
				$('#frm_selectTime').append("<option value=\""+ time_holder +"\">"+ time_holder +"</option>");			
			}
		}
	} else {
		// 12-Hour format

 		for(i=startHour; i < endHour; i++) {
			hours = i;
			// add "AM" or "PM" if the 12-hours format is chosen
			var ampm = ((hours >= 12) ? " PM" : " AM"); 
			hours = ((hours == 0) ? "12" : (hours > 12) ? hours - 12 : hours);
			hours = ((hours < 10) ? "0" + hours : hours);
		    for (j = 0; j < intervalMin.length; j++) {
				minutes = intervalMin[j];
				time_holder = hours + ":" + minutes + ampm;
				$('#frm_selectTime').append("<option value=\""+ time_holder +"\">"+ time_holder +"</option>");			
			}
		}
	}
	
}

