
function mattTestDate(nameform, arrival, departure) {
	var DateFromForm = new Date();
	var DateToForm = new Date();
	var DateToday = new Date();
	var text_alert = "";
	var year_month_arrival = getID(nameform + "year_month" + arrival);
	var year_month_departure = getID(nameform + "year_month" + departure);
	var mday_arrival = getID(nameform + "mday" + arrival);
	var mday_departure = getID(nameform + "mday" + departure);
	// test zadani datumu
	if(!year_month_arrival.value || !year_month_departure.value || !mday_arrival.value || !mday_departure.value) {
		// neni jako povinne, zmena :)
//		alert(alert_set_both_dates);
		return true;
	}
	date_from = year_month_arrival.value + "-" + mday_arrival.value;
	date_to = year_month_departure.value + "-" + mday_departure.value;
	date_from_part = date_from.split("-");
	date_to_part = date_to.split("-");

	// neplatne datum from
	if(!checkdate(date_from_part[1],date_from_part[2],date_from_part[0])) {
		alert(alert_from_date);
		return false;
	}

	// neplatne datum to
	if(!checkdate(date_to_part[1],date_to_part[2],date_to_part[0])) {
		alert(alert_to_date);
		return false;
	}


	DateFromForm.setFullYear(date_from_part[0],date_from_part[1]-1,date_from_part[2]);
	DateToForm.setFullYear(date_to_part[0],date_to_part[1]-1,date_to_part[2]);

	// Your arrival date is in the past
//	if(DateFromForm.valueOf()+86400000 < DateToday.valueOf())
	if(DateFromForm < DateToday)
		text_alert += alert_arrival_past + "\n";;
	// You can choice date from
	if(DateFromForm < DateFrom) 
		text_alert += alert_from_bad + " " + DateFrom.getFullYear() + "-" + (DateFrom.getMonth()+1) + "-" + DateFrom.getDate() + "!\n";
	//You can choice date to
	if(DateToForm.valueOf() > DateTo.valueOf() + 86400000)  
		text_alert += alert_to_bad + ' ' + DateTo.getFullYear() + "-" + (DateTo.getMonth()+1) + "-" + DateTo.getDate() + "!\n";
	// Departure date must be later than arrival date
	if(DateFromForm >= DateToForm)  
		text_alert += alert_arrival_later + "\n";
	// Departure date must be between 1 and 30 days after arrival date
	if(DateFromForm.valueOf() <= (DateToForm.valueOf() - 86400000 * 30))  
		text_alert += alert_max_difference_dates + "\n";
	// Departure date must be must be within 360 days in the future
	if(DateToForm.valueOf() - 86400000 * 360 > DateToday.valueOf())
		text_alert += alert_max_departure + "\n";;
	if (text_alert) {
		alert (text_alert);
		return false;
	}
	return true;
}

// matt calendar
function SetMattDeparture(nameform, arrival, departure) 
{
	var DateFromForm = new Date();
	var DateToForm = new Date();
	var NewDateFromForm = new Date();
	var year_month_arrival = getID(nameform + "year_month" + arrival);
	var year_month_departure = getID(nameform + "year_month" + departure);
	var mday_arrival = getID(nameform + "mday" + arrival);
	var mday_departure = getID(nameform + "mday" + departure);
	if(!year_month_arrival.value || !mday_arrival.value) 
		return;

//	alert(id_year_month1.name + id_year_month1.value);
	date_from = year_month_arrival.value + "-" + mday_arrival.value;
	if(year_month_departure.value && mday_departure.value) {
		var date_to = year_month_departure.value + "-" + mday_departure.value;
		var date_to_part = date_to.split("-");
		DateToForm.setFullYear(date_to_part[0],Number(date_to_part[1])-1,date_to_part[2]);
	}
	var date_from_part = date_from.split("-");

	DateFromForm.setFullYear(date_from_part[0],Number(date_from_part[1])-1,date_from_part[2]);

	// nastavim departure den o den vice!
	if(!date_to || DateFromForm >= DateToForm) {
		NewDateFromForm.setFullYear(date_from_part[0],Number(date_from_part[1])-1,Number(date_from_part[2]) + 1); 
		year_month_departure.value = String(NewDateFromForm.getFullYear()) + "-" + LZ((NewDateFromForm.getMonth()+1));
		mday_departure.value = LZ(NewDateFromForm.getDate());
	}
}


function checkcaptchafill_matt(c, ct, alert_text, nameform, arrival, departure)
{
	var c_id = getID(c);
	var ct_id = getID(ct);
//	alert (MD5(ct_id.value));
	if(nameform)
		mattTestDate(nameform, arrival, departure);
//		testDate('date_from', 'date_to');
	if(!trim(ct_id.value)) {
		alert(alert_text);
		return false;
	}

	if(MD5(trim(ct_id.value)) != c_id.value) {
		alert(alert_text);
		return false;
	}
	return true;
}

