function getMilisToNextYear()
{
	var now = new Date();

	return now.add(Date.YEAR, 1).getTime();
}



var milisRange = getMilisToNextYear() - (new Date()).getTime();




var dateRange = {min:24 * 60 * 60 * 1000, max: milisRange};

function initInsuranceControlsState()
{
	var isResidentCheckBox = getElementById('isResident');
	if (isResidentCheckBox != null)
	{
		isResidentCheckBox.checked = false;
		checkIsResidentStatus();
	}
	correctionDaysList('dayStartDate', getElementById('monthYearStartDate').value, Date.patterns.MonthYear);
	changeDateOfWeek('dayStartDate', 'monthYearStartDate');
}

function changeDateControl()
{
	correctionDaysList('dayStartDate', getElementById('monthYearStartDate').value, Date.patterns.MonthYear);
	changeDateOfWeek('dayStartDate', 'monthYearStartDate');
	_validateDateControls('dayStartDate', 'monthYearStartDate', null, 'insuranceDateBlock', dateRange);
}

function addInsuranceToShoppingCart()
{
	//if (validateResidentConfirmation())
	if (!_validateDateControls('dayStartDate', 'monthYearStartDate', null, 'insuranceDateBlock', dateRange) || !controls.checkAndLock()) return false;

	if (getElementById("isResident").checked)
	{
		getElementById('insuranceAddButton').style.display = 'none';
		getElementById('insuranceAddingButton').style.display = 'inline';
		wtAddInsuranceToShoppingCartFormMultiTrack();
		document.forms["AddInsuranceToShoppingCartForm"].submit();
	}
	else
	{
		controls.unlock();
	}
}

function getDateErrorMessage()
{
	return dateInvalidMessages['range'];
}

function getDateErrorMessageKey()
{
	return dateInvalidMessageKeys['range'];
}

function checkIsResidentStatus()
{
	var isResidentCheckBox = getElementById('isResident');
	if (isResidentCheckBox != null)
	{
		if (isResidentCheckBox.checked)
		{
			getElementById('insuranceAddButtonInactive').style.display = 'none';
			getElementById('insuranceAddingButton').style.display = 'none';
			getElementById('insuranceAddButton').style.display = 'inline';
		}
		else
		{
			getElementById('insuranceAddButtonInactive').style.display = 'inline';
			getElementById('insuranceAddingButton').style.display = 'none';
			getElementById('insuranceAddButton').style.display = 'none';
		}
	}
}

function insuranceCalendarOutboundInputFunc (sources) {
	var today = new Date();
	var bookingBuffer = (sources.bookingBuffer) ? sources.bookingBuffer : 0;
	var tFirstAvailDate = today.add(Date.DAY, bookingBuffer);
	var tLastAvailDate = today.add(Date.YEAR, 1);

	this.availableDateInterval = {from:{day: tFirstAvailDate.getDate(), month: tFirstAvailDate.getMonth(), year: tFirstAvailDate.getFullYear()}, to:{day: tLastAvailDate.getDate(), month: tLastAvailDate.getMonth(), year: tLastAvailDate.getFullYear()}};
	this.validDateInterval = {from:{day: tFirstAvailDate.getDate(), month: tFirstAvailDate.getMonth(), year: tFirstAvailDate.getFullYear()}, to:{day: tLastAvailDate.getDate(), month: tLastAvailDate.getMonth(), year: tLastAvailDate.getFullYear()}};

	var day = Ext.get(sources.idDaysField).getValue();
	var month = 0;
	var year = 0;
	var dt = Date.parseDate("1-" + Ext.get(sources.idMonthYearField).getValue(), Date.patterns.DayMonthYear);
	if(dt) {
	month = dt.getMonth();
	year = dt.getFullYear();
	}

	with(this){
		iDate.day = cDate.day = day;
		iDate.month = cDate.month = month;
		iDate.year = cDate.year = year;
	}
}

function wtAddInsuranceToShoppingCartFormMultiTrack()
{
	var addToCartForm = document.forms["AddInsuranceToShoppingCartForm"];
	var wtNumberInsured = Ext.get('insurance-number-travelers').dom.value;
	var wtStartMonthYear = Ext.get('monthYearStartDate').dom.value;
	wtStartMonthYear = wtStartMonthYear.replace(/-/,"/");
	dcsMultiTrack('DCSext.InsuranceStartMonth', wtStartMonthYear, 'DCSext.NumberInsured', wtNumberInsured,'WT.si_x','','WT.si_n','');
}

/*function validateResidentConfirmation()
{
	var residentConfirmationBlock = Ext.get('isResidentBlock');
	residentConfirmationBlock.dom.className = '';
	var msgs = residentConfirmationBlock.query(".glbErrorText");
	for(var i=0; i<msgs.length; i++)
	{
	   	Ext.get(msgs[i]).remove();
	}
	if (!getElementById("isResident").checked)
	{
		residentConfirmationBlock.dom.className = "glbErrorHilight";
		residentConfirmationBlock.insertHtml('afterBegin','<p class="glbErrorText">' + residentConfirmationIsRequiredMsg + '</p>');
		return false;
	}
	return true;
}*/
