﻿//ф-я для установки кукисов
function setCookieOrders(c_name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
//для чтения кукисов
function getCookieOrders(c_name)
{
	if (document.cookie.length>0)
	{
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1)
		{ 
			c_start=c_start + c_name.length+1; 
			c_end=document.cookie.indexOf(";",c_start);
		if (c_end==-1) c_end=document.cookie.length;
		return unescape(document.cookie.substring(c_start,c_end));
		} 
	}
	return "";
}
 //парсим и загружаем таблицу заказов
 function LoadTableInfo(idTable, _cell) {
      var html = ""; var n = 0;
      var oTable = document.getElementById(idTable).cloneNode(true);
      var x = oTable.rows;
      for (var i = 0; i < x.length; i++) {
         for (var j = 0; j < x[i].cells.length; j++) {
            if (x[i].cells[j].colSpan != "1") {
               var cs = x[i].cells[j].colSpan - 1;
               x[i].cells[j].colSpan = "1";
               for (k = 0; k < cs; k++) {
                  x[i].insertCell(j + 1);
                  x[i].cells[j + 1].innerHTML = x[i].cells[j].innerHTML;
                  j = j + 1;
               }
            }
         }
      }
      var tableRow = "";
      var r = oTable.rows;
      var orders = document.getElementById("ordersList");
      var tableS = "<table width='100%'>";

      for (var i = 0; i < r.length; i++) {
         html = r[i].cells[0].innerHTML;
         if ((html.indexOf("<img") == -1) && (html.indexOf("<IMG") == -1) && (html.indexOf("<input") == -1) &&
          (html.indexOf("<INPUT") == -1) && (html != "&nbsp;") && (html != "")) {
            var re = new RegExp("<strong>", "i");
            var re2 = new RegExp("</strong>", "i");
            var re3 = new RegExp("<br />", "i");
            var re4 = new RegExp("</br>", "i");
            var re5 = new RegExp("<br>", "i");
            html = html.replace(re, " ");
            html = html.replace(re2, " ");
            html = html.replace(re3, " ");
            html = html.replace(re4, " ");
            html = html.replace(re5, " ");
            if (i != r.length - 2) {
               tableRow += "<tr><td>" + html + "</td>";
            }
            else tableRow += "<tr>";
         }

         n = _cell;
         while (r[i].cells.length <= n) { n--; }
         html = r[i].cells[n].innerHTML;
         if ((html.indexOf("<img") == -1) && (html.indexOf("<IMG") == -1) && (html.indexOf("<input") == -1) &&
          (html.indexOf("<INPUT") == -1)) {
            var re3 = new RegExp("<br />", "gi");
            var re4 = new RegExp("</br>", "gi");
            var re5 = new RegExp("<br>", "gi");
            var re6 = new RegExp("004796", "gi");
            html = html.replace(re3, " ");
            html = html.replace(re4, " ");
            html = html.replace(re5, " ");
            html = html.replace(re6, "0a6cce");

            if (i != r.length - 2) {
               tableRow += "<td>" + html + "</td></tr>";
            }
            else {
               tableRow += '<td align="right" colspan="2"><strong><font color="#0a6cce">Цена - ' + html +
               '<br/></font></strong><br/><font size="1">Оплата в гривнах – по курсу наличного доллара</font></td></tr>';
            }
         }
      }
      tableS += tableRow + "</table>";
      orders.innerHTML = tableS;
   }
//функция для проверки на пустое поле
   function EmptyField(idField, idError, ErrorMessage) {
      var oField = document.getElementById(idField);
      var oError = document.getElementById(idError);      
      var _empty = (oField.value == "") ? true : false;
      oError.innerHTML = (_empty) ? ErrorMessage : "ok";
      oError.className = (_empty) ? "errorV" : "errorUV";
      oField.className = (_empty) ? "fieldError" : "fieldOK";   
      return _empty;
   }
   //для проверки телефона
   function CheckPhone(idField, idError, ErrorMessage) {
      var oField = document.getElementById(idField);
      var oError = document.getElementById(idError);      
      var _short = (oField.value.length < 7) ? true : false;
      oError.innerHTML = (_short) ? ErrorMessage : "ok";
      oError.className = (_short) ? "errorV" : "errorUV";
      oField.className = (_short) ? "fieldError" : "fieldOK";   
      return _short;
   }
   //функция для проверки поля по регулярному выражению
   function CheckFieldRE(idField, idError, Er, ErrorMessage, _re) {   
	  if (idField=="txtPhone" && document.getElementById(idField).value != ""
			&& CheckPhone(idField, idError, "Телефон не может быть меньше 7 символов"))
	      return false;
      if (EmptyField(idField, idError, Er)) return false;      
      else {
         var oField = document.getElementById(idField);
         var oError = document.getElementById(idError);         
         var regex = new RegExp(_re);
         if (!regex.test(oField.value)) {
            oError.innerHTML = ErrorMessage;
            oError.className = "errorV";
            oField.className = "fieldError";
            return false;
         }
         else {
            oError.innerHTML = "ok";
            oError.className = "errorUV";
            oField.className = "fieldOK";
            return true;
         }
      }
   }
   //функция для проверки почты
   function CheckEmail(idField, idError, ErrorMessage, _re) {
      var oField = document.getElementById(idField);      
      var oError = document.getElementById(idError);
      var regex = new RegExp(_re);
      if (oField.value != "") {
         if (!regex.test(oField.value)) {
            oError.innerHTML = ErrorMessage;
            oError.className = "errorV";
            oField.className = "fieldError";
            return false;
         }
         else {
            oError.innerHTML = "ok";
            oError.className = "errorUV";
            oField.className = "fieldOK";
            return true;
         }
      }
      else {
         oError.innerHTML = "ok";
         oError.className = "errorUV";
         oField.className = "fieldOK";
         return true;
      }
   }   
   //ф-я для проверки всех полей сразу
   function CheckAll() {  
      var b = true;	  
      if (!CheckFieldRE("txtName", "errName", "Поле, обязательное для заполнения", "Допускается ввод букв, пробела и тире", /^[ a-zA-Zа-яіїєґА-ЯІЇЄҐ-]+$/)) b = false;
      if (!CheckEmail("txtEmail", "errEmail", "Неправильно указана электронная почта", /^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/)) b = false;
      if (!CheckFieldRE("txtPhone", "errPhone", "Поле, обязательное для заполнения", "Допускается ввод символов: [0 - 9, -, (, ), пробел]", /^[0-9-()]+$/)) b = false; 
      return b;
   }
      
   //ф-я для отправки пост запроса на сервер с помощью аякса
   function SendOrder(parameters) {
      var oDiv = document.getElementById("order_contentLoad");	  
	  $.ajax({
		type: "POST",
		url: "/portal/MailOrder.ashx",
		data: parameters,
		success: function(msg){
			if (msg == "ok") {
			  oDiv.innerHTML = "ваш заказ успешно отправлен";
			  document.getElementById("order_afterSubmit").style.display = "inline";
			  document.getElementById("order_onsubmit").style.display = "none";
			  document.getElementById("order_preSubmit").style.display = "none";
		
			var userMail = document.getElementById("txtEmailM").value;
			if (userMail !=null && userMail !="")
			{
				setCookieMail('c_userMailM',userMail,30);
			} 
            }
            else {
                oDiv.innerHTML = msg;
                document.getElementById("order_afterSubmit").style.display = "none";
				document.getElementById("order_onsubmit").style.display = "none";
				document.getElementById("order_preSubmit").style.display = "inline";
            }			
		}
		});
   }
   //ф-я которая формирует запрос параметров
   function getParams() {
      var poststr = "txtOrder=" + escape(document.getElementById("ordersList").innerHTML) +
                    "&txtName=" + encodeURI(document.getElementById("txtName").value) +                    
                    "&txtAdress=" + encodeURI(document.getElementById("txtAdress").value) +                    
                    "&txtEmail=" + encodeURI(document.getElementById("txtEmail").value) +
                    "&txtPhone=" + encodeURI(document.getElementById("txtPhone").value) +
                    "&txtHidden=" + encodeURI(document.getElementById("special_hidden_field").value);   
      SendOrder(poststr);
      document.getElementById("order_preSubmit").style.display = "none";
      document.getElementById("order_afterSubmit").style.display = "none";
      document.getElementById("order_onsubmit").style.display = "inline";
   }   
   //функция для закрытия модального окна
   function ModalWindowOff(clear) {
      document.getElementById("Order_overlayDiv").className = "overlayOrdersOff";
      document.getElementById("Order_modalWindow").className = "modalWindowOff";
      document.getElementById("order_afterSubmit").style.display = "inline";
      document.getElementById("order_preSubmit").style.display = "none";
      document.getElementById("order_onsubmit").style.display = "none";
	 
	//если ключ стирать, стираем все поля
	if (clear)
	{
		ClearField("txtName", "errName");
		ClearField("txtAdress", "errAdress");
		ClearField("txtEmail", "errEmail");
		ClearField("txtPhone", "errPhone");	  
	}
   }
   //ф-я для стирания полей и возрат в начальное состояние
   function ClearField(idField, idError)
	{
		var oField = document.getElementById(idField);
        var oError = document.getElementById(idError);
		oError.innerHTML = "ok";
        oError.className = "errorUV";
        oField.className = "fieldOK";
		oField.value = "";
	}
	//функция для открытия модального окна
   function ModalWindowOn(specialField) {
	  document.body.style.height = "100%";
      document.getElementById("special_hidden_field").value = specialField;
      document.getElementById("order_afterSubmit").style.display = "none";
      document.getElementById("order_preSubmit").style.display = "inline";
      document.getElementById("order_onsubmit").style.display = "none";
      document.getElementById("order_contentLoad").innerHTML = "";
      var oOverlay = document.getElementById("Order_overlayDiv");
      oOverlay.className = "overlayOrders";
      var oWin = document.getElementById("Order_modalWindow");
      oWin.className = "modalWindow";
	  document.body.appendChild(oOverlay);   
      window.scrollTo(0, 0);    
	  
	  var userMail=getCookieOrders('c_userMail');
	  if (userMail != null && userMail!="")
	  {
		 document.getElementById("txtEmail").value = userMail; 
	  }

   }