function homepage_date_update ()
{
	var date_from = document.getElementById('checkin');
	var date_to = document.getElementById('checkout');

	if (calendar.invoked_by.id == date_from.id)
	{
		var day = '';
		var month = '';
		var year = '';

		for (var i = 0; i < calendar.format.length; i++)
		{
			switch (calendar.format.substring(i, i+1))
			{
				case 'd':
				day += date_from.value.substring(i, i+1);
				break;
				case 'm':
				month += date_from.value.substring(i, i+1);
				break;
				case 'y':
				year += date_from.value.substring(i, i+1);
				break;
			}
		}

		var day = new Number(day).valueOf();
		var month = new Number(month).valueOf();
		var year = new Number(year).valueOf();

		day++;
		days_in_month = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		if (year%4 != 0)
		{
			days_in_month[1] = 28;
		}
		else if (year%400 == 0)
		{
			days_in_month[1] = 29;
		}
		else if (year%100 == 0)
		{
			days_in_month[1] = 28;
		}
		else
		{
			days_in_month[1] = 29;
		}
		if (day > days_in_month[month-1])
		{
			day = 1;
			month++;
		}
		if (month > 12)
		{
			month = 1;
			year++;
		}

		var temp_new_date = '';
		temp_new_date = calendar.format;

		var re = new RegExp('dd');
		if (calendar.format.search(re) != -1)
		{
			if (day < 10)
			{
				day = '0'+day;
			}
		}
		temp_new_date = temp_new_date.replace(re, day);

		var re = new RegExp('mm');
		if (calendar.format.search(re) != -1)
		{
			if (month < 10)
			{
				month = '0'+month;
			}
		}
		temp_new_date = temp_new_date.replace(re, month);

		var re = new RegExp('yy');
		if (calendar.format.search(re) != -1)
		{
			if (year < 10)
			{
				year = '200'+year;
			}
			else if (year >= 10 && year < 100)
			{
				year = '20'+year;
			}
		}

		var re = new RegExp('yyyy');
		temp_new_date = temp_new_date.replace(re, year);

		date_to.value = temp_new_date;
	}

	if (calendar.invoked_by.id == date_to.id)
	{
		var day = '';
		var month = '';
		var year = '';

		for (var i = 0; i < calendar.format.length; i++)
		{
			switch (calendar.format.substring(i, i+1))
			{
				case 'd':
				day += date_from.value.substring(i, i+1);
				break;
				case 'm':
				month += date_from.value.substring(i, i+1);
				break;
				case 'y':
				year += date_from.value.substring(i, i+1);
				break;
			}
		}

		var day = new Number(day).valueOf();
		var month = new Number(month).valueOf();
		var year = new Number(year).valueOf();

		if (day < 10)
		{
			day = '0'+day;
		}
		if (month < 10)
		{
			month = '0'+month;
		}
		if (year < 10)
		{
			year = '200'+year;
		}
		else if (year >= 10 && year < 100)
		{
			year = '20'+year;
		}

		start_date = year+'-'+month+'-'+day;

		var day = '';
		var month = '';
		var year = '';

		for (var i = 0; i < calendar.format.length; i++)
		{
			switch (calendar.format.substring(i, i+1))
			{
				case 'd':
				day += date_to.value.substring(i, i+1);
				break;
				case 'm':
				month += date_to.value.substring(i, i+1);
				break;
				case 'y':
				year += date_to.value.substring(i, i+1);
				break;
			}
		}

		var day = new Number(day).valueOf();
		var month = new Number(month).valueOf();
		var year = new Number(year).valueOf();

		if (day < 10)
		{
			day = '0'+day;
		}
		if (month < 10)
		{
			month = '0'+month;
		}
		if (year < 10)
		{
			year = '200'+year;
		}
		else if (year >= 10 && year < 100)
		{
			year = '20'+year;
		}

		end_date = year+'-'+month+'-'+day;

		if (!date_handler.compare(start_date, end_date, true))
		{
			var day = '';
			var month = '';
			var year = '';

			for (var i = 0; i < calendar.format.length; i++)
			{
				switch (calendar.format.substring(i, i+1))
				{
					case 'd':
					day += date_from.value.substring(i, i+1);
					break;
					case 'm':
					month += date_from.value.substring(i, i+1);
					break;
					case 'y':
					year += date_from.value.substring(i, i+1);
					break;
				}
			}

			var day = new Number(day).valueOf();
			var month = new Number(month).valueOf();
			var year = new Number(year).valueOf();

			day++;
			days_in_month = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
			if (year%4 != 0)
			{
				days_in_month[1] = 28;
			}
			else if (year%400 == 0)
			{
				days_in_month[1] = 29;
			}
			else if (year%100 == 0)
			{
				days_in_month[1] = 28;
			}
			else
			{
				days_in_month[1] = 29;
			}
			if (day > days_in_month[month-1])
			{
				day = 1;
				month++;
			}
			if (month > 12)
			{
				month = 1;
				year++;
			}

			var temp_new_date = '';
			temp_new_date = calendar.format;

			var re = new RegExp('dd');
			if (calendar.format.search(re) != -1)
			{
				if (day < 10)
				{
					day = '0'+day;
				}
			}
			temp_new_date = temp_new_date.replace(re, day);

			var re = new RegExp('mm');
			if (calendar.format.search(re) != -1)
			{
				if (month < 10)
				{
					month = '0'+month;
				}
			}
			temp_new_date = temp_new_date.replace(re, month);

			var re = new RegExp('yy');
			if (calendar.format.search(re) != -1)
			{
				if (year < 10)
				{
					year = '200'+year;
				}
				else if (year >= 10 && year < 100)
				{
					year = '20'+year;
				}
			}

			var re = new RegExp('yyyy');
			temp_new_date = temp_new_date.replace(re, year);

			date_to.value = temp_new_date;
		}
	}
}
