﻿var ddlDurationDays;
var dtStartDate;

function DatePickerInitialise()
{
	if(getById('StartDate').innerHTML == '' || getById('EndDate').innerHTML == '')
	{
		$('.DatePickerPlaceholder')

		$('#StartDate')
		.datePicker({inline:true})
		.dpSetEndDate((new Date()).zeroTime().addDays(365).asString())
		.bind
		(
			'dateSelected',
			function(e, selectedDate, $td)
			{
				$('#txtStartDate').val(selectedDate.asString());
				
				if($('#txtEndDate').val() == '')
				{
					$('#EndDate').dpSetSelected(selectedDate.addDays(1).asString());
				}

				UpdateDuration();
			}
		);

		$('#EndDate')
		.datePicker({inline:true})
		.dpSetEndDate((new Date()).zeroTime().addDays(395).asString())
		.bind
		(
			'dateSelected',
			function(e, selectedDate, $td)
			{
				$('#txtEndDate').val(selectedDate.asString());
				UpdateDuration();
			}
		);
	}
}

function UpdateDuration()
{
	var endDateSplit = getById('txtEndDate').value.split('/');
	var startDateSplit = getById('txtStartDate').value.split('/');
	var endDate = Date.UTC(endDateSplit[2] * 1, endDateSplit[1] * 1 - 1, endDateSplit[0] * 1);
	var startDate = Date.UTC(startDateSplit[2] * 1, startDateSplit[1] * 1 - 1, startDateSplit[0] * 1);
	var duration = Math.floor((endDate - startDate) / 1000 / 60 / 60 / 24) + 1;
	dtStartDate.value = getById('txtStartDate').value;

	if(!isNaN(duration))
	{
		if(duration < 1)
		{
			getById('CalculatorMessage').innerHTML = 'The return date must <strong>not</strong> be before the departure date.';
			ddlDurationDays.value = -1;
		}
		else
		{
			getById('CalculatorMessage').innerHTML = 'You are travelling for <strong>' + duration + ' day' + (duration == 1 ? '' : 's') + '</strong>';

			if(duration > 30)
			{
				getById('CalculatorMessage').innerHTML += '<br /><strong>Sorry, Asda Travel insurance does not cover holidays longer than 30 days.</strong>';
				ddlDurationDays.value = -1;
			}
			else
			{
				getById('CalculatorMessage').innerHTML += '<br />Remember you must buy cover for the entire duration of your trip.';
				ddlDurationDays.value = duration;
			}
		}
	}
}

