var homepage = {};
homepage.init = function ()
{
	var roomamount_element = document.getElementById('roomamount');
	if (roomamount_element)
	{
		event_handler.add(roomamount_element, 'change', stars.update_map);
	}

	var roomtype_element = document.getElementById('roomtype');
	if (roomtype_element)
	{
		event_handler.add(roomtype_element, 'change', stars.update_map);
	}
};
homepage.date_update = function ()
{
	var date_from = document.getElementById('checkin');
	var date_to = document.getElementById('checkout');

	if (!date_from || !date_to)
	{
		return;
	}

	//read start date with given format from calendar
	var day_from = '';
	var month_from = '';
	var year_from = '';

	for (var i = 0; i < calendar.format.length; i++)
	{
		switch (calendar.format.substring(i, i+1))
		{
			case 'd':
			day_from += date_from.value.substring(i, i+1);
			break;
			case 'm':
			month_from += date_from.value.substring(i, i+1);
			break;
			case 'y':
			year_from += date_from.value.substring(i, i+1);
			break;
		}
	}

	//read end date with given format from calendar
	var day_from = new Number(day_from).valueOf();
	var month_from = new Number(month_from).valueOf();
	var year_from = new Number(year_from).valueOf();

	var day_to = '';
	var month_to = '';
	var year_to = '';

	for (var i = 0; i < calendar.format.length; i++)
	{
		switch (calendar.format.substring(i, i+1))
		{
			case 'd':
			day_to += date_to.value.substring(i, i+1);
			break;
			case 'm':
			month_to += date_to.value.substring(i, i+1);
			break;
			case 'y':
			year_to += date_to.value.substring(i, i+1);
			break;
		}
	}

	var day_to = new Number(day_to).valueOf();
	var month_to = new Number(month_to).valueOf();
	var year_to = new Number(year_to).valueOf();

	//set start date for comparison
	temp_from = year_from;
	if (month_from < 10)
	{
		temp_from += '-0'+month_from;
	}
	else
	{
		temp_from += '-'+month_from;
	}
	if (day_from < 10)
	{
		temp_from += '-0'+day_from;
	}
	else
	{
		temp_from += '-'+day_from;
	}

	//set end date for comparison
	temp_to = year_to;
	if (month_to < 10)
	{
		temp_to += '-0'+month_to;
	}
	else
	{
		temp_to += '-'+month_to;
	}
	if (day_to < 10)
	{
		temp_to += '-0'+day_to;
	}
	else
	{
		temp_to += '-'+day_to;
	}

	//if end date is smaller -> update it
	if (date_handler.compare(temp_to, temp_from))
	{
		day_to = day_from+1;
		days_in_month = new Array (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
		if (year_to%4 != 0)
		{
			days_in_month[1] = 28;
		}
		else if (year_to%400 == 0)
		{
			days_in_month[1] = 29;
		}
		else if (year_to%100 == 0)
		{
			days_in_month[1] = 28;
		}
		else
		{
			days_in_month[1] = 29;
		}

		day_to = day_from+1;
		month_to = month_from;
		year_to = year_from;

		if (day_to > days_in_month[month_to-1])
		{
			day_to = 1;
			month_to += 1;
		}
		if (month_to > 12)
		{
			month_to = 1;
			year_to += 1;
		}

		var temp_new_date = '';
		temp_new_date = calendar.format;

		var re = new RegExp('dd');
		if (calendar.format.search(re) != -1)
		{
			if (day_to < 10)
			{
				day_to = '0'+day_to;
			}
		}
		temp_new_date = temp_new_date.replace(re, day_to);

		var re = new RegExp('mm');
		if (calendar.format.search(re) != -1)
		{
			if (month_to < 10)
			{
				month_to = '0'+month_to;
			}
		}
		temp_new_date = temp_new_date.replace(re, month_to);

		var re = new RegExp('yy');
		if (calendar.format.search(re) != -1)
		{
			if (year_to < 10)
			{
				year_to = '200'+year_to;
			}
			else if (year_to >= 10 && year_to < 100)
			{
				year_to = '20'+year_to;
			}
		}

		var re = new RegExp('yyyy');
		temp_new_date = temp_new_date.replace(re, year_to);

		date_to.value = temp_new_date;
	}

	stars.update_map();
};