function checkReservationRoom(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Неверно указана дата заезда"); return false;};
	if(obj.dateto.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Неверно указана дата выезда"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.dateto.value);
	if (chdates==1) {alert("Дата заезда не может быть меньше текущей даты"); return false;};
	if (chdates>0) {alert("Дата выезда должна быть больше даты заезда"); return false;};
	if (trim(obj.timefrom.value)=="") {alert("Укажите, пожалуйста, время заезда"); return false;};
	if (trim(obj.timeto.value)=="") {alert("Укажите, пожалуйста, время выезда"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Укажите, пожалуйста, фамилию"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Укажите, пожалуйста, имя"); return false;};
	if (trim(obj.parentname.value)=="") {alert("Укажите, пожалуйста, отчество"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Укажите, пожалуйста, телефон"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("Укажите, пожалуйста, корректный адрес электронной почты"); return false;};
	if (trim(obj.peoplecnt.value)=="") {alert("Укажите, пожалуйста, количество человек"); return false;};
	obj.submit();
}
function checkReservationRoomEng(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Check-in date is incorrect"); return false;};
	if(obj.dateto.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Check-out date is incorrect"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.dateto.value);
	if (chdates==1) {alert("Check-in date should not be earlier than the present date"); return false;};
	if (chdates>0) {alert("Check-out date must be later than the check-in date"); return false;};
	if (trim(obj.timefrom.value)=="") {alert("Fill in check-in time, please"); return false;};
	if (trim(obj.timeto.value)=="") {alert("Fill in check-out time, please"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Fill in your surname, please"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Fill in your name, please"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Fill in your phone, please"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("E-mail is incorrect"); return false;};
	if (trim(obj.peoplecnt.value)=="") {alert("Fill in number of peoples, please"); return false;};
	obj.submit();
}
function checkReservationConference(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Неверно указана дата бронирования"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Дата бронирования не может быть меньше текущей даты"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Укажите, пожалуйста, время бронирования"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Укажите, пожалуйста, фамилию"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Укажите, пожалуйста, имя"); return false;};
	if (trim(obj.parentname.value)=="") {alert("Укажите, пожалуйста, отчество"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Укажите, пожалуйста, телефон"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("Укажите, пожалуйста, корректный адрес электронной почты"); return false;};
	obj.submit();
}
function checkReservationConferenceEng(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Check-in date is incorrect"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Check-in date should not be earlier than the present date"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Fill in booking time, please"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Fill in your surname, please"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Fill in your name, please"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Fill in your phone, please"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("E-mail is incorrect"); return false;};
	obj.submit();
}
function checkReservationRestaurant(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Неверно указана дата бронирования"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Дата бронирования не может быть меньше текущей даты"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Укажите, пожалуйста, время бронирования"); return false;};
	if (trim(obj.action.value)=="") {alert("Укажите, пожалуйста, мероприятие"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Укажите, пожалуйста, фамилию"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Укажите, пожалуйста, имя"); return false;};
	if (trim(obj.parentname.value)=="") {alert("Укажите, пожалуйста, отчество"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Укажите, пожалуйста, телефон"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("Укажите, пожалуйста, корректный адрес электронной почты"); return false;};
	obj.submit();
}
function checkReservationRestaurantEng(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Check-in date is incorrect"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Check-in date should not be earlier than the present date"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Fill in booking time, please"); return false;};
	if (trim(obj.action.value)=="") {alert("Fill in event, please"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Fill in your surname, please"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Fill in your name, please"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Fill in your phone, please"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("E-mail is incorrect"); return false;};
	obj.submit();
}
function checkReservationSauna(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Неверно указана дата бронирования"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Дата бронирования не может быть меньше текущей даты"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Укажите, пожалуйста, время бронирования"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Укажите, пожалуйста, фамилию"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Укажите, пожалуйста, имя"); return false;};
	if (trim(obj.parentname.value)=="") {alert("Укажите, пожалуйста, отчество"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Укажите, пожалуйста, телефон"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("Укажите, пожалуйста, корректный адрес электронной почты"); return false;};
	obj.submit();
}
function checkReservationSaunaEng(obj)
{
	if(obj.datefrom.value.search(/\d{2}[.]\d{2}[.]\d{4}/)==-1) {alert("Check-in date is incorrect"); return false;};
	var chdates = CheckDates(obj.datefrom.value,obj.datefrom.value);
	if (chdates==1) {alert("Check-in date should not be earlier than the present date"); return false;};
	if (trim(obj.datetime.value)=="") {alert("Fill in booking time, please"); return false;};
	if (trim(obj.secondname.value)=="") {alert("Fill in your surname, please"); return false;};
	if (trim(obj.firstname.value)=="") {alert("Fill in your name, please"); return false;};
	if (trim(obj.telephone.value)=="") {alert("Fill in your phone, please"); return false;};
	if (trim(obj.email.value)!="")
		if (!emailCheck(obj.email.value)) {alert("E-mail is incorrect"); return false;};
	obj.submit();
}
function CheckDates(date1,date2)
{
	firstdate = new Date();
	seconddate = new Date();
	nowdate = new Date();
	
	dd1 = date1.substr(0,2);
	dm1 = date1.substr(3,2);
	if (dm1<2)
		dm1=12;
	else
		dm1=dm1-1;
	dy1 = date1.substr(6,4);
	
	dd2 = date2.substr(0,2);
	dm2 = date2.substr(3,2);
	if (dm2<2)
		dm2=12;
	else
		dm2=dm2-1;
	dy2 = date2.substr(6,4);
	
	firstdate.setFullYear(dy1,dm1,dd1);
	firstdate.setHours(0,0,0,0);
	seconddate.setFullYear(dy2,dm2,dd2);
	seconddate.setHours(0,0,0,0);
	nowdate.setHours(0,0,0,0);
	
	differenceNow = firstdate.getTime() - nowdate.getTime();
	if (differenceNow<0)
		return 1;
		
	differenceDates = seconddate.getTime() - firstdate.getTime();
	differenceDates = Math.floor(differenceDates/(1000*60*60));
	if (differenceDates<0)
		return 3;
	
	differenceDates = seconddate.getTime() - firstdate.getTime();
	differenceDates = Math.floor(differenceDates/(1000*60*60));
	if (differenceDates<24)
		return 2;
	return 0;
}
function emailCheck (emailStr) 
{
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) return false;
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++)	if (user.charCodeAt(i)>127) 	return false;
	for (i=0; i<domain.length; i++)	if (domain.charCodeAt(i)>127)	return false;
	if (user.match(userPat)==null) 	return false;
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {	for (var i=1;i<=4;i++) if (IPArray[i]>255) return false;
		return true;
	}
	
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) if (domArr[i].search(atomPat)==-1)	return false;
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)	return false;
	if (len<2)		return false;
	return true;
}
function	trim(s)
{
	return 	s.replace(/^(\s*)/,"$`").replace(/(\s*)$/,"$'");
}
