function onFocusDo (el, defval) {
   if (el.value == defval)    el.value = '';
}

function onBlurDo (el, defval) {
   if ('' == el.value)    el.value = defval;
}

function addStr(inp) {
   if (''!=inp.value) {
      var tr = inp.parentNode.parentNode;                   // текущая строка
      addNewStr(tr, false);
   }
}

function addNewStr(tr, addname) {         // tr - строка, ПОСЛЕ которой добавляем строку (т.е. последняя)
   var tbody = tr.parentNode;
   var alltr = tbody.getElementsByTagName('tr');
   var lasttr = alltr[alltr.length-1];                   // последняя строка
   if (tr.id==lasttr.id) {
      // добавляем строку только при вводе значения в последней строке
      var clonedtr = lasttr.cloneNode(true);
      var maxid = Number(lasttr.id.substr(2));
      var nextid = maxid+1;
      clonedtr.id = 'tr'+nextid;
      chngNom(clonedtr, nextid, true, addname);
      tbody.appendChild(clonedtr);
   }
}

function delPos(deltr) {
   var delnom = Number(deltr.id.substr(2));   // tri
   var nextnom = delnom;
   var tbody = deltr.parentNode;
   alltr = tbody.getElementsByTagName('tr');
   if (alltr.length==1) {      // еcли строка в таблице единственная, то ее просто очищаем
      chngNom(alltr[0], 0, true, false);
      return;
   }
   tbody.deleteRow(delnom);
   alltr = tbody.getElementsByTagName('tr');
   var trkol = alltr.length;
   for (var i=delnom; i<trkol; i++) {
      var trnom = Number(alltr[i].id.substr(2));
      if (trnom > delnom) {
         alltr[i].id = 'tr'+i;
         chngNom(alltr[i], i, false, false);
      }
   }
}


function chngNom(chngtr, newnom, clr, addval) {
   var inputs = chngtr.getElementsByTagName('input') ;
   for (var i=0; i<inputs.length; i++) {
      if (clr) inputs[i].value = '';
      var pname = inputs[i].name.substr(0, inputs[i].name.search('[0-9]'));
      switch (pname) {
         case 'name' :
            inputs[i].name = 'name'+newnom;
            if (addval!==false) inputs[i].value = addval;
            break;
         default:
            inputs[i].name = pname+newnom;
      }
   }
}

function cutList() {
   var txt = document.getElementById('list').value;
   var names = txt.split('\n');
   if (names.length>1 || (names.length==1 &&''!=names[0])) {
      var tbody = document.getElementById('zaktb');
      var curel = 0;
      var alltrs = tbody.getElementsByTagName('tr').length;
      while (alltrs>1 && curel<alltrs) {
         var curtr = tbody.getElementsByTagName('tr')[curel];
         var inputs = curtr.getElementsByTagName('input');
         var empty = true;
         for (var j=0; j<inputs.length; j++) {
            if (''!=inputs[j].value) {
               empty = false;
               break;
            }
         }
         if (empty)     delPos(curtr);
         else     curel++;    // переходим к следующей строке
         alltrs = tbody.getElementsByTagName('tr').length;
      }
      // Добавляем строки из list
      var nomstr = alltrs-1;
      for (var i=0; i<names.length; i++) {
         if (''!=names[i]) {
            addNewStr(document.getElementById('tr'+nomstr), names[i]);
            nomstr++;
         }
      }
      // Добавляем в конец пустую строку
      addNewStr(document.getElementById('tr'+nomstr), false);
      //Удаляем первую строку, если она пустая
      var curtr = tbody.getElementsByTagName('tr')[0];
      var inputs = curtr.getElementsByTagName('input');
      var empty = true;
      for (var j=0; j<inputs.length; j++) {
         if (''!=inputs[j].value) {
            empty = false;
            break;
         }
      }
      if (empty)     delPos(curtr);
   }
}


function addNote() {
    var err ="";
    if (document.getElementById('name_otz').value == "")
      err = "Ошибка!\n- укажите, пожалуйста, ваше имя \n";
    if ((document.getElementById('otz').value == "") || (document.getElementById('otz').value == "Похвалите, поругайте или предложите что-то новое"))
      err +="Ошибка!\n- пустой отзыв \n";
    if (err !== "") {
      alert (err);
      return false;
    }
    else {
      var request = createRequest();
      var url = "getajax.php";
      request.open("POST", url, true);
      request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      var sendstr = "subj=" + document.getElementById('subj').value +
                 "&name_otz=" + document.getElementById('name_otz').value +
                 "&cont_otz=" + document.getElementById('cont_otz').value +
                 "&otz=" + document.getElementById('otz').value;
	request.onreadystatechange = addNoteOK;
      request.setRequestHeader("Content-length", sendstr.length);
      request.send(sendstr);
   }
}
function addNoteOK() {
	if (request.readyState == 4) {
		if (request.status == 200) {
         if (request.responseText>0) {
            alert('Ваш отзыв успешно отправлен. Большое спасибо!');
            document.getElementById('name_otz').value = "";
            document.getElementById('cont_otz').value = "";
            document.getElementById('otz').value = "";
            document.getElementById('div11').style.display='none';
            document.getElementById('div12').style.display='none';
            document.getElementById('div13').style.display='none';
         } else {
            alert('Не удалось отправить отзыв');
         }
      }
   }
}

function createRequest() {
   try {
      request = new XMLHttpRequest();
   } catch (trymicrosoft) {
      try {
         request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
         try {
            request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (failed) {
            request = null;
         }
      }
   }
   if (request == null) {
      alert("Error creating request object!");
   } else {
      return request;
   }
}

 // Обворачиваем функцию toggle в локальное замыкание:
var toggle = function() {
    // Ссылка на текущий открытый div:
    var currentDiv = null;

    // Функция для "раскрытия" элемента:
    function open(divElement) {
        // Тут можно добавить эффект "плавного" открытия:
        divElement.style.display = "block";
        currentDiv = divElement;
    }

    // Функция для "закрытия" элемента:
    function close(divElement) {
        // Тут можно добавить эффект "плавного" закрытия:
        divElement.style.display = "none";
        currentDiv = null;
    }

    // Возвращаем функцию, которая будет вызываться по toggle()
    return function(divID) {
	// Получаем элемент из DOM
	var divElement = document.getElementById(divID);
	// Если такой есть:
	if (divElement) {
	    // Если уже открыт этот div, то просто закрываем.
	    if (divElement === currentDiv) {
	        close(currentDiv);
	    // Если открыт другой div, то закрываем и открываем текущий:
	    } else if(currentDiv != null) {
	        close(currentDiv);
	        open(divElement);
	    // Иначе - просто открываем:
	    } else open(divElement);
	}
    }
  // Вызываем нашу "обертку", теперь toggle() вызывает функцию, описанную по "return"
  }();

function toggle1(id, type1)
{
  document.getElementById('subj').value=type1;
  display = document.getElementById(id).style.display;
  if(display=='none'){
     document.getElementById(id).style.display='block';
  }
  else {
     document.getElementById(id).style.display='none';
  }
}

function toggle2(id, type1)
{
  display = document.getElementById(id).style.display;
  if(display=='none'){
     document.getElementById(id).style.display='block';
  }
  else {
     document.getElementById(id).style.display='none';
  }
}

function chSumm(qty, i) {
   var price= document.getElementsByName('pr'+i)[0].value;
   var summ = qty*price;
   document.getElementsByName('summ'+i)[0].value = summ;
   var itqty = 0;
   var itsumm = 0;
   var tbody = document.getElementById('cart');
   var alltrs = tbody.getElementsByTagName('tr').length;
   for (var j=0; j<alltrs; j++) {
     var addqty = +document.getElementsByName('qty'+j)[0].value;
	 var addsumm = +document.getElementsByName('pr'+j)[0].value * addqty;
     itqty += addqty;
	 itsumm += addsumm;
   }
   document.getElementsByName('itqty')[0].value = itqty;
   document.getElementsByName('itsumm')[0].value = itsumm;
  }
  
function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
 
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}



