var i = 0;
var pixel = 40;
var scroll_break = 1;

function isNumber (inputVal)
{
	inputStr = inputVal.toString ();
	for (i = 0; i < inputStr.length; i ++)
		if (inputStr.charAt (i) < '0' || inputStr.charAt (i) > '9')
			return false;
	return true;
}

function tour (openURL, openWidth, openHeight)
{
	add = ", left=" + Math.max ((screen.width - openWidth) / 2, 0) + ", top=" + Math.max ((screen.height - 64 - openHeight) / 2, 0);
	newWindow = window.open (openURL, "window1", "width=" + openWidth + ", height=" + openHeight + ", toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=0" + add);
}

function openWindow (openURL, openWidth, openHeight, center)
{
	add = "";
	if (center == 'center')
		add = ", left=" + Math.max ((screen.width - openWidth) / 2, 0) + ", top=" + Math.max ((screen.height - 64 - openHeight) / 2, 0);
	newWindow = window.open ("", "window1", "width=" + openWidth + ", height=" + openHeight + ", toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=0" + add);
	newWindow.document.write ("<html>\n");
	newWindow.document.write ("<head>\n");
	newWindow.document.write ("\t<link rel=\"stylesheet\" href=\"/list.css\" type=\"text/css\" />\n");
	newWindow.document.write ("</head>\n");
	newWindow.document.write ("<body>\n");
	newWindow.document.write ("\t<img src=\"" + openURL + "\" />\n");
	newWindow.document.write ("</body>\n");
	newWindow.document.write ("</html>");
}

function scroll_up ()
{
	if (i >= pixel)
		i -= pixel;
	else if (i >= 0 && i < pixel)
		i = 0;
	document.getElementById('scroll').scrollTop = i;
	if (scroll_break)
		setTimeout ('scroll_up();', 100);
	else
		scroll_break = 1;
}

function scroll_down ()
{
	var scroll = document.getElementById('scroll').scrollTop;
	if (i <= scroll)
		i += pixel;
	else if (i > scroll)
		i = scroll;
	document.getElementById('scroll').scrollTop = i;
	if (scroll_break)
		setTimeout ('scroll_down();', 100);
	else
		scroll_break = 1;
}

function scroll_breaker ()
{
	scroll_break = 0;
}

function printDay (entryTurnout)
{
	Days = new Array (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	reservationForm = document.getElementById("reservation");
	if (entryTurnout)
	{
		valueMonth = reservationForm.turnout_month.options[reservationForm.turnout_month.selectedIndex].value;
		valueDay = reservationForm.turnout_day.options[reservationForm.turnout_day.selectedIndex].value;
		valueYear = reservationForm.turnout_year.options[reservationForm.turnout_year.selectedIndex].value;
		if (!(valueYear % 4) && (valueYear % 100))
			Days[2] = 29;
	}
	else
	{
		valueMonth = reservationForm.entry_month.options[reservationForm.entry_month.selectedIndex].value;
		valueDay = reservationForm.entry_day.options[reservationForm.entry_day.selectedIndex].value;
		valueYear = reservationForm.entry_year.options[reservationForm.entry_year.selectedIndex].value;
		if (!(valueYear % 4) && (valueYear % 100))
			Days[2] = 29;

		if (reservationForm.entry_day.options.length > Days[valueMonth] + 1)
		{
			till = reservationForm.entry_day.options.length;
			for (i = Days[valueMonth] + 1; i < till; i ++)
			{
				element = reservationForm.entry_day.options[Days[valueMonth] + 1];
				element.parentNode.removeChild(element);
			}
		}
		else if (reservationForm.entry_day.options.length < Days[valueMonth] + 1)
		{
			for (i = reservationForm.entry_day.options.length; i < Days[valueMonth] + 1; i ++)
			{
				newElement = document.createElement ("option");
				newElement.value = i;
				newText = document.createTextNode (i);
				newElement.appendChild (newText);
				reservationForm.entry_day.appendChild (newElement);
			}
		}
	}
}

function cashCard (divCard)
{
	if (divCard)
		document.getElementById("div_card").style.display = "block";
	else
		document.getElementById("div_card").style.display = "none";
}

function showSPA (divSPA)
{
	if (divSPA)
		document.getElementById("div_spa").style.display = "block";
	else
		document.getElementById("div_spa").style.display = "none";
}

function checkReservation (reservationForm)
{
	var valueAddress = reservationForm.address.options[reservationForm.address.selectedIndex].value;
	var valueSurname = reservationForm.surname.value;
	var valueName = reservationForm.name.value;
	var valueEmail = reservationForm.email.value;
	var valueTel = reservationForm.tel.value;
	var valueClients = reservationForm.clients.value;
	var valueType = reservationForm.type.options[reservationForm.type.selectedIndex].value;
	var valueNumbers = reservationForm.numbers.value;
	var valueEntryMonth = reservationForm.entry_month.options[reservationForm.entry_month.selectedIndex].value;
	var valueEntryDay = reservationForm.entry_day.options[reservationForm.entry_day.selectedIndex].value;
	var valueEntryYear = reservationForm.entry_year.options[reservationForm.entry_year.selectedIndex].value;
	var valueEntryTime = reservationForm.entry_time.options[reservationForm.entry_time.selectedIndex].value;
	var valueTurnoutMonth = reservationForm.turnout_month.options[reservationForm.turnout_month.selectedIndex].value;
	var valueTurnoutDay = reservationForm.turnout_day.options[reservationForm.turnout_day.selectedIndex].value;
	var valueTurnoutYear = reservationForm.turnout_year.options[reservationForm.turnout_year.selectedIndex].value;
	var valueTurnoutTime = reservationForm.turnout_time.options[reservationForm.turnout_time.selectedIndex].value;
	var valuePay = reservationForm.pay[1].checked;
	var valueCardnumber = reservationForm.card_number.value;
	var valueCardmonth = reservationForm.card_month.value;
	var valueCardyear = reservationForm.card_year.value;
	var valueConditionsbox = reservationForm.conditionsbox.checked;

	var Edays = new Array (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	var Tdays = new Array (0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	Tdays[2] = Edays[2] = 28;
	if (!(valueEntryYear % 4) && (valueEntryYear % 100))
		Edays[2] = 29;
	if (!(valueTurnoutYear % 4) && (valueTurnoutYear % 100))
		Tdays[2] = 29;
	var Edate = new Date (Date.UTC (valueEntryYear, valueEntryMonth, valueEntryDay, valueEntryTime, 0, 0));
	var Tdate = new Date (Date.UTC (valueTurnoutYear, valueTurnoutMonth, valueTurnoutDay, valueTurnoutTime, 0, 0));

	var labelAddress = document.getElementById ("address");
	var labelSurname = document.getElementById ("surname");
	var labelName = document.getElementById ("name");
	var labelEmail = document.getElementById ("email");
	var labelClients = document.getElementById ("clients");
	var labelType = document.getElementById ("type");
	var labelNumbers = document.getElementById ("numbers");
	var labelEntry = document.getElementById ("entry");
	var labelTurnout = document.getElementById ("turnout");
	var labelCardnumber = document.getElementById ("card_number");
	var labelCardlimit = document.getElementById ("card_limit");
	var labelConditions = document.getElementById ("conditions");
	var labelError = document.getElementById ("error")

	var fix = 0;

	if (valueAddress == "")
	{
		labelAddress.style.color = "#ff0000";
		labelAddress.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelAddress.style.color = "";
		labelAddress.style.fontWeight = "";
	}
	if (valueSurname == "" || valueSurname == "Введите Вашу фамилию" || valueSurname == "Enter your last name" || valueSurname == "Bitte geben Sie Ihren Nachnamen an" || valueSurname == "Введіть Ваше прізвище" || valueSurname == "Prosze wprowadzic nazwisko")
	{
		labelSurname.style.color = "#ff0000";
		labelSurname.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelSurname.style.color = "";
		labelSurname.style.fontWeight = "";
	}
	if (valueName == "" || valueName == "Введите Ваше имя" || valueName == "Enter your first name" || valueName == "Bitte geben Sie Ihren Vornamen an" || valueName == "Введіть Ваше ім`я" || valueName == "Prosze wprowadzic imie")
	{
		labelName.style.color = "#ff0000";
		labelName.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelName.style.color = "";
		labelName.style.fontWeight = "";
	}
	if (!valueEmail.match (/[0-9a-zA-Z._-]+@[0-9a-zA-Z._-]+\.[a-zA-Z]{2,5}/))
	{
		labelEmail.style.color = "#ff0000";
		labelEmail.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelEmail.style.color = "";
		labelEmail.style.fontWeight = "";
	}
	if (valueClients == "" || valueClients < 1 || valueClients > 50)
	{
		labelClients.style.color = "#ff0000";
		labelClients.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelClients.style.color = "";
		labelClients.style.fontWeight = "";
	}
	if (valueType == "")
	{
		labelType.style.color = "#ff0000";
		labelType.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelType.style.color = "";
		labelType.style.fontWeight = "";
	}
	if (valueNumbers == "" || valueNumbers < 1 || valueNumbers > 10)
	{
		labelNumbers.style.color = "#ff0000";
		labelNumbers.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelNumbers.style.color = "";
		labelNumbers.style.fontWeight = "";
	}
	if (valueEntryDay == valueTurnoutDay && valueEntryMonth == valueTurnoutMonth && valueEntryYear == valueTurnoutYear && valueEntryTime == valueTurnoutTime || Edate > Tdate)
	{
		labelEntry.style.color = "#ff0000";
		labelEntry.style.fontWeight = "bold";
		labelTurnout.style.color = "#ff0000";
		labelTurnout.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		if (valueEntryDay == "" || valueEntryDay == "-" || valueEntryDay < 1 || valueEntryDay > Edays[valueEntryMonth] ||
			valueEntryMonth == "" || valueEntryMonth == "-" || valueEntryMonth < 1 || valueEntryMonth > 12 ||
			valueEntryYear == "" || valueEntryYear == "-" || valueEntryYear < 2008 || valueEntryYear > 2010 ||
			valueEntryTime == "" || valueEntryTime == "-" || valueEntryTime < 0 || valueEntryTime > 23)
		{
			labelEntry.style.color = "#ff0000";
			labelEntry.style.fontWeight = "bold";
			fix = 1;
		}
		else
		{
			labelEntry.style.color = "";
			labelEntry.style.fontWeight = "";
		}
		if (valueTurnoutDay == "" || valueTurnoutDay == "-" || valueTurnoutDay < 1 || valueTurnoutDay > Tdays[valueEntryMonth] ||
			valueTurnoutMonth == "" || valueTurnoutMonth == "-" || valueTurnoutMonth < 1 || valueTurnoutMonth > 12 ||
			valueTurnoutYear == "" || valueTurnoutYear == "-" || valueTurnoutYear < 2008 || valueTurnoutYear > 2010 ||
			valueTurnoutTime == "" || valueTurnoutTime == "-" || valueTurnoutTime < 0 || valueTurnoutTime > 23)
		{
			labelTurnout.style.color = "#ff0000";
			labelTurnout.style.fontWeight = "bold";
			fix = 1;
		}
		else
		{
			labelTurnout.style.color = "";
			labelTurnout.style.fontWeight = "";
		}
	}
	if (valuePay)
	{
		if (valueCardnumber == "" || valueCardnumber == "Укажите номер Вашей кредитной карты" || valueCardnumber.length < 16 || !isNumber (valueCardnumber))
		{
			labelCardnumber.style.color = "#ff0000";
			labelCardnumber.style.fontWeight = "bold";
			fix = 1;
		}
		else
		{
			labelCardnumber.style.color = "";
			labelCardnumber.style.fontWeight = "";
		}
		if (valueCardyear == "" || valueCardyear < 8 || valueCardmonth == "" || valueCardmonth < 1 || valueCardmonth > 12)
		{
			labelCardlimit.style.color = "#ff0000";
			labelCardlimit.style.fontWeight = "bold";
			fix = 1;
		}
		else
		{
			labelCardlimit.style.color = "";
			labelCardlimit.style.fontWeight = "";
		}
	}
	else
		valueCardnumber = "";

	if (!valueConditionsbox)
	{
		labelConditions.style.color = "#ff0000";
		labelConditions.style.fontWeight = "bold";
		fix = 1;
	}
	else
	{
		labelConditions.style.color = "";
		labelConditions.style.fontWeight = "";
	}

	if (fix)
	{
		labelError.innerHTML = "<b>!!! заполните, пожалуйста, все необходимые поля !!!</b>";
		labelError.style.color = "#ff0000";
		return false;
	}
	else
	{
		labelAddress.style.color = "";
		labelAddress.style.fontWeight = "";
		labelSurname.style.color = "";
		labelSurname.style.fontWeight = "";
		labelName.style.color = "";
		labelName.style.fontWeight = "";
		labelEmail.style.color = "";
		labelEmail.style.fontWeight = "";
		labelType.style.color = "";
		labelType.style.fontWeight = "";
		labelEntry.style.color = "";
		labelEntry.style.fontWeight = "";
		labelTurnout.style.color = "";
		labelTurnout.style.fontWeight = "";
		labelConditions.style.color = "";
		labelConditions.style.fontWeight = "";
		labelNumber.style.color = "";
		labelNumber.style.fontWeight = "";
		labelError.innerHTML = "";
		return true;
	}
}

function changeInput (item, string)
{
	if (item.value == "")
	{
		item.value = string;
		item.style.color = "#999999";
	}
	else if (item.value == string)
	{
		item.value = "";
		item.style.color = "#000000";
	}
}

