﻿/*
Примечание по checkbox
 - value = on, если явно не задано другое значение
 - checked = true || false
 
*/


function sendRequest() {
	var oForm = document.forms[0];

	//check data form
	if(oForm.name.value == "")
		{
		alert("Пожалуйста, заполните поле [Имя]");
		oForm.name.focus()
		return false;
		}

	if(oForm.town.value == "")
		{
		alert("Пожалуйста, заполните поле [Город]");
		oForm.town.focus()
		return false;
		}

	if(oForm.count1.value == "")
		{
		alert("Пожалуйста, заполните поле [Взрослых]");
		oForm.count1.focus()
		return false;
		}

	if(oForm.from.value == "")
		{
		alert("Пожалуйста, заполните поле [Заезд с]");
		oForm.from.focus()
		return false;
		}

	if(oForm.to.value == "")
		{
		alert("Пожалуйста, заполните поле [Заезд по]");
		oForm.to.focus()
		return false;
		}

	if(oForm.phone.value == "")
		{
		alert("Пожалуйста, заполните поле [Телефон]");
		oForm.phone.focus()
		return false;
		}

	/*
	// Заполнение поле сообщение необязательно
	if(oForm.message.value == "")
		{
		alert("Пожалуйста, заполните поле [Текст]");
		oForm.message.focus()
		return false;
		}
	*/

	// проверяю чтобы был отмечен хотя бы один checkbox
	var check_result = check_checkbox(oForm);
	if(!check_result)
		{
		alert("Отметьте один или более номеров, которые вас интересуют, птичкой справа от номера");
		//oForm.phone.focus()
		return false;
		}	


	if(oForm.securitycode.value == "")
		{
		alert("Пожалуйста, заполните поле [Код защиты от спама]");
		oForm.securitycode.focus()
		return false;
		}
		
            var sBody = getRequestBody(oForm);
			//alert(sBody);
        
            var oXmlHttp = zXmlHttp.createRequest();
            oXmlHttp.open("post", "/php/send-order-hot-2010.php", true);
            oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

            oXmlHttp.onreadystatechange = function () {
                if (oXmlHttp.readyState == 4) {
                    if (oXmlHttp.status == 200) {

						var responseText = oXmlHttp.responseText;
						//alert(responseText);

						if (responseText == "Wrong secure code") {
							// invalid captcha code
							alert(oForm.name.value + ", Вы ввели неверный код защиты от спама! Пожалуйста, введите его еще раз.");
							document.getElementById("securitycode").value = "";
							oForm.securitycode.focus()
							saveResult("<div id='div_order' align='center' style='color:#FF0000'><a name='form'></a><strong>Неверный код защиты от спама! Пожалуйста, введите его еще раз.</strong></div>");
							updateSecureImage();	// reload capcha
							return false;			// exit
						} 

						if (responseText == "Link presents") {
							// invalid captcha code
							alert(oForm.name.value + ", в поле сообщение запрещено отправлять ссылки на другие сайты");
							document.getElementById("securitycode").value = "";
							oForm.securitycode.focus()
							saveResult("<div id='div_order' align='center' style='color:#FF0000'><a name='form'></a><strong>В поле сообщение запрещено отправлять ссылки на другие сайты</strong></div>");
							updateSecureImage();	// reload capcha
							return false;			// exit
						} 
						
						if (responseText == "Send error" || responseText == "Robot send mail") {
							// invalid captcha code
							alert(oForm.name.value + ", Во время отправки сообщения произошла ошибка. Просим вас связаться с нами по телефону.");
							document.getElementById("securitycode").value = "";
							oForm.securitycode.focus()
							saveResult("<div id='div_order' align='center' style='color:#FF0000'><a name='form'></a><strong>Во время отправки сообщения произошла ошибка.</strong></div>");
							updateSecureImage();	// reload capcha
							return false;			// exit
						} 
						

						// send data to google analytics
						pageTracker._trackPageview("/php/send-order-hot-2010.php");
						
						// right captcha code
						saveResult("<div id='div_order' align='center' style='color:#FF0000'><a name='form'></a><strong>Ваше сообщение отправлено! Мы свяжемся с Вами в ближайшее время. Спасибо.</strong></div>");
						alert(oForm.name.value + ", Ваше сообщение отправлено!");


                    } else {
                        saveResult("<div id='div_order' align='center' style='color:#FF0000'><a name='form'></a><strong>Во время отправки сообщения произошла ошибка. Пожалуйста, позвоните нам по телефону. Спасибо.</strong></div>");
						alert(oForm.name.value + " Во время отправки сообщения произошла ошибка.");						
                    }
                }            
            };
            oXmlHttp.send(sBody);  

			return false;
       
        }



	
	function sendFeedback() {

	var oForm = document.forms[1];

	//check data form
	if(oForm.name.value == "")
		{
		alert("Пожалуйста, заполните поле [Ваше имя и фамилия]");
		oForm.name.focus()
		return false;
		}

	if(oForm.town.value == "")
		{
		alert("Пожалуйста, заполните поле [Город]");
		oForm.town.focus()
		return false;
		}

	if(oForm.message.value == "")
		{
		alert("Пожалуйста, заполните поле [Ваш отзыв]");
		oForm.message.focus()
		return false;
		}


		var sBody = getRequestBody(oForm);

        
            var oXmlHttp = zXmlHttp.createRequest();
            oXmlHttp.open("post", "/php/send-feedback.php", true);
            oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

            oXmlHttp.onreadystatechange = function () {
                if (oXmlHttp.readyState == 4) {
                    if (oXmlHttp.status == 200) {
                        saveFeedback("Ваш отзыв отправлен. Благодарим Вас!");
						alert("Ваш отзыв отправлен. Благодарим Вас!");
                    } else {
                        saveFeedback("Во время отправки сообщения произошла ошибка. Пожалуйста, попробуйте еще раз!");
						alert("Во время отправки сообщения произошла ошибка.");						
                    }
                }            
            };
            oXmlHttp.send(sBody);  

		
	}


	function getRequestBody(oForm) {
            var aParams = new Array();
			var selected_nomers = "";
            
            for (var i=0 ; i < oForm.elements.length; i++) {

				// отдельная обработка для checkbox, только отмеченных
				if ( (oForm.elements[i].tagName=='INPUT') && (oForm.elements[i].getAttribute('type')=='checkbox') ) {
					if ( oForm.elements[i].checked == true ) {
						// сохранить отмеченный номер в одну строку
						//alert("обрабатываю " + oForm.elements[i].name + " = " + oForm.elements[i].value);
						selected_nomers = selected_nomers + encodeURIComponent(oForm.elements[i].value) + '; ';
						continue;	// все изменения выполнены, выхожу из текущей итерации
					} else {
						continue;	// пропустить эту итерацию
					}
				}

				// Для всех остальных элементов - продолжаем
				var sParam = encodeURIComponent(oForm.elements[i].name);
				sParam += "=";
                sParam += encodeURIComponent(oForm.elements[i].value);
                aParams.push(sParam);
            } 
			
			// вручную дописываю строку номеров, которые выбрал пользователь
			aParams.push(encodeURIComponent("nomer") + "=" + selected_nomers);
            
            return aParams.join("&");        
        }
        

	// Проверяю, чтобы в форме был отмечен как минимум один checkbox
	// Проверяю все элементы формы
	function check_checkbox(oForm) {
		
		for (var i=0 ; i < oForm.elements.length; i++) {
			//alert ( (oForm.elements[i].name) + ', ' + (oForm.elements[i].checked) );
			if (oForm.elements[i].checked == true) {
				return true;
			}
		} 
		
		return false;	// если нет ни одного отмеченного checkbox, возвращаем false

	}



	function saveResult(sMessage) {
            var divStatus = document.getElementById("div_order");
            divStatus.innerHTML = sMessage;            
        }


        function saveFeedback(sMessage) {
            var divStatus = document.getElementById("div_feedback");
            divStatus.innerHTML = sMessage;            
        }
		
		
// function update div with secure image
function updateSecureImage() {

	//generat random parameter for index.php
	nrandom = getRandom();
	
	// update div with secure image
	(document.getElementById("div_secureImage")).innerHTML = "<img id='new_image'  name='new_image' src='/php/randomimage/index.php?i=" + nrandom + "' alt='Пожалуйста, введите этот код' hspace='0' border='0' width='50' height='25'>";

}


// Return random value
function getRandom() {
	var min_random = 0;
	var max_random = 10000;
	max_random++;
	var range = max_random - min_random;
	var nrandom=Math.floor(Math.random()*range) + min_random;
	return nrandom;
}



// function for pansionat karta
function OpenKarta(variant) {

	if (variant == '1') {
		window.open("/ru/karta1.html", "Karta", "width=410,height=610,top=20,left=200,toolbar=no,status=no,scrollbars=yes,menubar=no,resizable=no");
	} else {
		window.open("/ru/karta2.html", "Karta", "width=605,height=900,top=20,left=200,toolbar=no,status=no,scrollbars=yes,menubar=no,resizable=no");
	}
	
}
