YAHOO.namespace('itinerary.calendar');
var dtStart = new Date();
var startdate = (dtStart.getMonth() + 1) + '/' + dtStart.getDate() + '/' + dtStart.getFullYear();
	
function showStartDatePopup(clicked) {
	var div = document.getElementById('Calendar');
	div.style.top = '125px';

	params = Array();
	params['pagedate'] = document.getElementById('pickupMonthYear').value;
	var mindate = new Date();
	params['mindate'] = 
		(mindate.getMonth() + 1) + "/" + 
		mindate.getDate() + "/" + 
		mindate.getFullYear();
		
	var nextyear = new Date();
	nextyear.setFullYear(nextyear.getFullYear() + 1);
	params['maxdate'] = 
		(nextyear.getMonth() + 1) + "/" + 
		nextyear.getDate() + "/" + 
		nextyear.getFullYear();
			

	YAHOO.itinerary.calendar.cal1 = new YAHOO.widget.Calendar('cal1','Calendar', params);
	YAHOO.itinerary.calendar.cal1.render();

	var dateSelected = function (type, args, obj) {
		var parts = ('' + args[0]).split(',');
		startdate = parts[1] + '/' + parts[2] + '/' + parts[0];
		startmonth = parts[1] + '/' + parts[0];
		
		if (parts[2].length == 1) { parts[2] = '0' + parts[2]; }
		if (parts[1].length == 1) { parts[1] = '0' + parts[1]; }
								
		$('pickupDay').value = parts[2];
		$('pickupMonthYear').value = parts[1] + '/' + parts[0];

		$('Calendar').style.visibility = 'hidden';
		
		pickupDateChanged();
	}

	YAHOO.itinerary.calendar.cal1.selectEvent.subscribe(dateSelected, YAHOO.itinerary.calendar.cal1, true);

	div.style.display='block';
	div.style.visibility = 'visible';
	handleAsPopup(div, clicked);
}

function informUserOfButton() {
	buttons = document.getElementsByClassName('button');
	button = buttons[buttons.length - 1];
	button.style.background = 'url(\'/site/images/button-ani.gif\')';
}

function showStopDatePopup() {
	var div = document.getElementById('Calendar');
	div.style.top = '160px';

	params = Array();
	params['pagedate'] = document.getElementById('returnMonthYear').value;
	params['mindate'] = startdate;
	var nextyear = new Date();
	nextyear.setFullYear(nextyear.getFullYear() + 1);
	params['maxdate'] = 
		(nextyear.getMonth() + 1) + "/" + 
		nextyear.getDate() + "/" + 
		nextyear.getFullYear();

	YAHOO.itinerary.calendar.cal1 = new YAHOO.widget.Calendar('cal1','Calendar', params);
	YAHOO.itinerary.calendar.cal1.render();

	var dateSelected = function (type, args, obj) {
		var parts = ('' + args[0]).split(',');
		
		if (parts[2].length == 1) { parts[2] = '0' + parts[2]; }
		if (parts[1].length == 1) { parts[1] = '0' + parts[1]; }
		
		$('returnDay').value = parts[2];
		$('returnMonthYear').value = parts[1] + '/' + parts[0];

		$('Calendar').style.visibility = 'hidden';
	}
	
	YAHOO.itinerary.calendar.cal1.selectEvent.subscribe(dateSelected, YAHOO.itinerary.calendar.cal1, true);
	
	div.style.display='block';
	div.style.visibility = 'visible';
	handleAsPopup(div, true);
}

function pickupDateChanged(sender) {
	//make new date
	if ($('pleaseSubmitImg')) {
		$('pleaseSubmitImg').style.display = 'block';
	}
	
	var day = $('pickupDay').value;
	var monthYear = $('pickupMonthYear').value;
	var time = $('pickupTime').value;
	var pickupdate = day + '/' + monthYear + ' ' + time.replace(':', '');
	
	var day = $('returnDay').value;
	var monthYear = $('returnMonthYear').value;
	var time = $('returnTime').value;
	var returndate = 	day + '/' + monthYear + ' ' + time.replace(':', '');
	
	var start = dateStrToTime(pickupdate);
	var stop = dateStrToTime(returndate);

	
	var dtStart = new Date();
	dtStart.setTime(start);
	startdate = (dtStart.getMonth() + 1) + '/' + dtStart.getDate() + '/' + dtStart.getFullYear();
	
	if (start > stop) {
		if ((sender != null) && (sender.id == 'returnDay')) {
			var my = $('returnMonthYear').value;
			var monthyear = my.split('/');
			monthyear[0]++;
			if (monthyear[0] == 12) {
				monthyear[0] = 0;
				monthyear[1]++;
			}
			my = sprintf('%02d/%02d', monthyear[0], monthyear[1]);
			$('returnMonthYear').value = my;
		} else {
			stop = start + (7 * 24 * 60 * 60 * 1000);
			
			var stopdate = new Date();
			stopdate.setTime(stop);
			
			var day = stopdate.getDate() + '';
			if (day.length == 1) { day = '0' + day; }
			document.getElementById('returnDay').value = day;
			
			var month = (stopdate.getMonth() + 1) + '';
			if (month.length == 1) { month = '0' + month; }
			var year = (stopdate.getFullYear()) + '';
			if (year.length == 1) { year = '0' + year; }
			$('returnMonthYear').value = month + '/' + year;
			
			$('returnTime').value = $('pickupTime').value;
		}
	}
}

function dateStrToTime(dateStr) {
	day = dateStr.substr(0, 2);
	month = dateStr.substr(3, 2);
	year = dateStr.substr(6, 4);
	
	hour = dateStr.substr(11, 2);
	minute = dateStr.substr(13,2);
	
	monthnames = new Array();
	monthnames['01'] = 'January';
	monthnames['02'] = 'February';
	monthnames['03'] = 'March';
	monthnames['04'] = 'April';
	monthnames['05'] = 'May';
	monthnames['06'] = 'June';
	monthnames['07'] = 'July';
	monthnames['08'] = 'August';
	monthnames['09'] = 'September';
	monthnames['10'] = 'October';
	monthnames['11'] = 'November';
	monthnames['12'] = 'December';
	
	return Date.parse(monthnames[month] + ', ' + day + ' ' + year + ' ' + hour + ':' + minute + ':00');
}

function handleFormSubmit() {
	return __currentPopup == null;
}