// DATE FUNCTIONALITY
var today = new Date();
var thisDay = today.getDate();
var thisMonth = today.getMonth();
var thisYear = today.getFullYear();

var monthArray = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
//determines how many days are in each month
function determineDays(mo,yr) {
	var t = 31;	
	if (mo == 1) {
		if ((yr - 2000) % 4 == 0) { //check for leap year
			t = 29;
		} else {
			t = 28;
		}
	} else if (mo == 3 || mo == 5 || mo == 8 || mo == 10) {
		t = 30;		
	}
	return t;
}

function setOffSetDate(offSet) {
	var day = thisDay + offSet;
	var month = thisMonth;
	if (day > determineDays(thisMonth,thisYear)) {
		month = thisMonth + 1;
		day = day - determineDays(thisMonth,thisYear);
	}
	month = monthArray[month];
	var date = month + "," + day;
	return date;
}
var out21month = setOffSetDate(21).split(',')[0];	
var out21day = setOffSetDate(21).split(',')[1];					
var out28month = setOffSetDate(28).split(',')[0];	
var out28day = setOffSetDate(28).split(',')[1];		
var out14month = setOffSetDate(14).split(',')[0];	
var out14day = setOffSetDate(14).split(',')[1];							
var out7month = setOffSetDate(7).split(',')[0];	
var out7day = setOffSetDate(7).split(',')[1];	
var out9month = setOffSetDate(9).split(',')[0];	
var out9day = setOffSetDate(9).split(',')[1];							
					
airDates = new dateOffset(out21month,out21day,out28month,out28day); //+21 +28
hotelDates = new dateOffset(out7month,out7day,out9month,out9day);//+7 +9
carDates = new dateOffset(out7month,out7day,out14month,out14day);//+7 +14
ahDates = new dateOffset(out21month,out21day,out28month,out28day);//+21 +28
hcDates = new dateOffset(out14month,out14day,out21month,out21day);//+14 +21
allDates = new Array(airDates,hotelDates,carDates,ahDates,hcDates);

//uses an array to populate options of a select box
function populateSelect(array,field) {
	field.options.length = array.length;
	for (var o = 0; o < array.length; o ++) {
		field.options[o].value = array[o];
		field.options[o].text = array[o];
	}
}

var monthList = new Array();
function generateMonthDD() {
	var nextYear = monthArray.slice(0,thisMonth-1);
	for (var i = 0; i < nextYear.length; i ++) {
		nextYear[i] += " " + (parseFloat(thisYear) + 1);
	}
	var monthDD = monthArray.slice(thisMonth).concat(nextYear);
	populateSelect(monthDD,orbotForm.pickupMonth);
	populateSelect(monthDD,orbotForm.dropoffMonth);
}




function searchNearType(id,elements) {
	this.id = id;
	this.elements = elements;
	this.toDefault = "Where from?";
	if (id == "std") {
		this.toDefault = "Enter city or point of interest...";
	}
	this.setToDef = function() {
		if (theForm.pickupLocation.value == "" || theForm.pickupLocation.value == "Where from?" || theForm.pickupLocation.value == "Enter city or point of interest...") {
			theForm.pickupLocation.value = this.toDefault;
			theForm.pickupLocation.defaultValue = this.toDefault;
		}
	}
}


var airEl = new Array("toLocation","carTo","anote","carDrop");
var stdEl = new Array("toLocation","carTo","carNote");

	
	
var adrEl = new Array("adrSearch","carNote");
var snAdr = new searchNearType("adr",adrEl);
	

var snAir = new searchNearType("air",airEl);
var snPoi= new searchNearType("std",stdEl);

function searchNear(snType) {
	var t = snType.id;
	setValue(theForm.searchMode,t);	
	var txtId = t + "Txt";
	snType.setToDef();
	changeStyle("airTxt","fontWeight","normal");
	changeStyle("adrTxt","fontWeight","normal");
	changeStyle("stdTxt","fontWeight","normal");
	changeStyle(txtId,"fontWeight","bold");
	
	hideElements(airEl);
	hideElements(stdEl);
	hideElements(adrEl);
	showElements(snType.elements);
}


	var sn = "air";
	var snDef = snAir;
	if (sn == "adr") snDef = snAdr;
	if (sn == "std") snDef = snPoi;






