//$Id: scripts.js,v 1.71 2012/01/31 11:01:09 maria Exp $

// JavaScript Document

// Блок для возможности присвоения дефолтных значений 
var DOM = (typeof(document.getElementById) != 'undefined');
var size_orig;

Function.prototype.defaults = function()
{
   var _f = this;
   var _a = Array(_f.length-arguments.length).concat(
         Array.prototype.slice.apply(arguments));
   return function()
   {
      return _f.apply(_f, Array.prototype.slice.apply(arguments).concat(
               _a.slice(arguments.length, _a.length)));
   }
}


// initeditarea() - Инициализирует текстовое поле для хмл разметки {{{
function initeditarea()
{
   editAreaLoader.init({id : "textarea_1", syntax: "xml", start_highlight: true, min_width: 700, allow_toggle: false});
}
// }}}

// presize() -  Вычисляет ширину block002 {{{
function presize()
{
   if (navigator.appVersion.indexOf("MSIE")!=-1)
   {
      m2=document.getElementById('block002');
      if(!m2) return;
      size_orig =  m2.offsetWidth;
   }
}
// }}}

// posfut() - Позиционирует футер {{{
function posfut()
{
   //Сайзит хедер про ширине страницы раз и навсегда
   m6=document.getElementById('header');
   m6.style.width = getDocumentWidth() + 'px';

   var arVersion = navigator.appVersion.split("MSIE")
   var version = parseFloat(arVersion[1])

   // Фиксит багу с размерами в IE 5.5 и 6.0
   if (navigator.appVersion.indexOf("MSIE")!=-1 && (version < 7.0))
   {
      m2=document.getElementById('block002');
      m3=document.getElementById('all');
      m4=document.getElementById('header');
      m5=document.getElementById('block001');
      if(!m2) return;
      if(m2.offsetWidth == size_orig) return;
      m3.style.width = m2.offsetWidth + m5.offsetWidth + 50 + 'px';
      m4.style.width = m3.style.width;
      m=document.getElementById('t-box');
      m.style.width = m3.style.width;
      m.style.top = getDocumentHeight() + 25 + 'px';
   }
   else // Во всех остальных браузерах
   {
      if(navigator.appVersion.indexOf("AppleWebKit")!=-1)
      {
         m=document.getElementById('t-box');
         m.style.top = getDocumentHeight() + 'px';
      }
      var scrplus = 0;

      if(navigator.appName == "Opera") {
         if(navigator.appVersion.indexOf("9.5")!=-1 || navigator.appVersion.indexOf("9.6")!=-1) { scrplus = screen.width; }
      }
      else if(navigator.appCodeName == "Mozilla" &&  navigator.appVersion.indexOf("MSIE")==-1) {
         scrplus = window.outerWidth - (document.getElementsByTagName('HTML'))[0].offsetWidth;
      }

      var body_width = (document.getElementsByTagName('HTML'))[0].scrollWidth - scrplus;

      var divs      = document.getElementsByTagName('div');

      for (i = 1; i < divs.length; i++) {
         if (divs[i].className == 'b013'){
            b013 = divs[i];
            break;
         }
      }

      if(b013 != null)
      {
         var b013_right = b013.offsetLeft + b013.offsetWidth;
         if(body_width - b013_right > 10)
         {
            m3=document.getElementById('all');
            m=document.getElementById('t-box');
            m4=document.getElementById('header');

            m3.style.width = body_width + 50 + 'px';
            m.style.width = m3.style.width;
            m4.style.width = m3.style.width;

         }
      }
   }
}
// }}}

// getDocumentWidth(), getDocumentHeight() - Вычисляют высоту\ширину страницы{{{
function getDocumentWidth()
{
    //Функция вычесляет ширину страницы с учетом скроллинга 
    //с учетом браузера
    if (window.innerHeight && window.scrollMaxY) 
    {
       // Firefox
       yWithScroll = window.innerHeight + window.scrollMaxY;
       xWithScroll = window.innerWidth + window.scrollMaxX;    
    } 
    else if (document.body.scrollHeight > document.body.offsetHeight)
    { 
       // all but Explorer Mac
       yWithScroll = document.body.scrollHeight;
       xWithScroll = document.body.scrollWidth;     
    } 
    else 
    { 
       // works in Explorer 6 Strict, Mozilla (not FF) and Safari
       yWithScroll = document.body.offsetHeight; 
       xWithScroll = document.body.offsetWidth;
    }
    arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
    return xWithScroll; 
}

function getDocumentHeight()
{
    //Функция вычесляет высоту страницы с учетом скроллинга 
    //с учетом браузера
    if (window.innerHeight && window.scrollMaxY) 
    {
       // Firefox
       yWithScroll = window.innerHeight + window.scrollMaxY;
       xWithScroll = window.innerWidth + window.scrollMaxX;    
    } 
    else if (document.body.scrollHeight > document.body.offsetHeight)
    { 
       // all but Explorer Mac
       yWithScroll = document.body.scrollHeight;
       xWithScroll = document.body.scrollWidth;     
    } 
    else 
    { 
       // works in Explorer 6 Strict, Mozilla (not FF) and Safari
       yWithScroll = document.body.offsetHeight; 
       xWithScroll = document.body.offsetWidth;      
    }
    arrayPageSizeWithScroll = new Array(xWithScroll,yWithScroll);
    return yWithScroll; 
}

function getElementLeft(Elem) {
      var elem;
      if(document.getElementById) {
         var elem = document.getElementById(Elem);
      } else if (document.all){
         var elem = document.all[Elem];
      }
      xPos = elem.offsetLeft;
      tempEl = elem.offsetParent;
      while (tempEl != null) {
         xPos += tempEl.offsetLeft;
         tempEl = tempEl.offsetParent;
      }
      return xPos;
}
//}}}

// getElementTop(elem) - Выдаёт координаты верхушки объекта {{{
function getElementTop(elem) {
      yPos = elem.offsetTop;
      tempEl = elem.offsetParent;
      while (tempEl != null) {
         yPos += tempEl.offsetTop;
         tempEl = tempEl.offsetParent;
      }
      return yPos;
}
//}}}

//st(obja,objb), st2(obja,objb,objc), st3(obj), tabs(obja,objb) - прячут объекты{{{
function st(obja,objb)
{
	if(document.getElementById) {
		document.getElementById(obja).style.display='none';
		document.getElementById(objb).style.display='block';
	} else {
		document.all[obja].style.display='none';
		document.all[objb].style.display='block';
	}
}

function st2(obja,objb,objc)
{
	if(document.getElementById) {
		document.getElementById(obja).style.display='none';
		document.getElementById(objb).style.display='none';
		document.getElementById(objc).style.display='block';
	} else {
		document.all[obja].style.display='none';
		document.all[objb].style.display='none';
		document.all[objc].style.display='block';
	}
}

function st3(obj)
{
	o = document.getElementById(obj);
	if(o.style.display == 'none')
	{
		o.style.display = 'block';
	}
	else
	{
		o.style.display = 'none';
	}
}


//прячет объект и сохраняет об этом инфу в сессии и в базе
function st4(obj)
{
   o = document.getElementById(obj);
   if(o.style.display == 'none')
   {
      o.style.visibility = 'visible';
      o.style.display = 'block';
   }
   else
   {
      o.style.visibility = 'hidden';
      o.style.display = 'none';
   }

   //сохраним в сессии и в базе новый параметр отображения левого меню
   $.post(
     '/AB/ajax_query.khtml',
     {
       type: "lmenu-request",
       lmenu: obj,
       new_type: o.style.display
     },
     onAjaxSuccess
   );

   function onAjaxSuccess(data) // Здесь мы получаем данные, отправленные сервером
   {
//     alert(data);
   }
}

function tabs(obja,objb)
{
	if(document.getElementById) {
		document.getElementById(obja).style.display='block';
		document.getElementById(objb).style.display='none';
	} else {
		document.all[obja].style.display='block';
		document.all[objb].style.display='none';
	}
}
//}}}

//Функции для групповых операций {{{
function CheckAll(Element,Name)
{
	if (DOM) {
		thisCheckBoxes = Element.parentNode.parentNode.parentNode.getElementsByTagName('input');
		for (i = 0; i < thisCheckBoxes.length; i++) { //vnk99 поменял тут с 1 на 0, чтобы при использовании нижней галочки, верхняя менялась 
			if (thisCheckBoxes[i].name == Name){
				thisCheckBoxes[i].checked = Element.checked;
			}
		}
	}
}

// Function for group checkboxes submit
function GroupSubmit(Boxes_name,url,var_name,caller)
{
   if(DOM)
   {
      var out = "";
      var form = caller.parentNode;
      var inp_hid = document.createElement("input");

      form.action = url;
      inp_hid.type = 'hidden';
      inp_hid.name = var_name;
   
      boxes = document.getElementsByName(Boxes_name);
      for(i = 0;i < boxes.length;i++) {
         if(boxes[i].checked) {
            if(out.length==0) out += boxes[i].value;
            else out += "&"+boxes[i].value;
         }
      }
      inp_hid.value = out;
      form.appendChild(inp_hid);
      form.submit();
   }
}

function GroupCheck(select_id,alert_to_sel)
{
   sel = document.getElementById(select_id);
   url = sel.options[sel.selectedIndex].value;
   if(url=='off')
   {
      window.alert(alert_to_sel);return false;
   }
   return true;
}


function GroupApply(select_id,Boxes_name,alert_to_sel,alert_to_sel2)
{
   if(DOM)
   {
      sel = document.getElementById(select_id);
      url = sel.options[sel.selectedIndex].value;
      
      if(url=='off') 
      {
         window.alert(alert_to_sel);return;
      }

      var out = "";
      
      boxes = document.getElementsByName(Boxes_name);


      for(i = 0;i < boxes.length;i++) {
         if(boxes[i].checked) {
            if(out.length==0) out = boxes[i].value;
            else out += "&" + boxes[i].value;
         }
      }

      if(out=='')
      {
         window.alert(alert_to_sel2);return;
      }

      var new_form = document.createElement("form");
      new_form.action = url;
      new_form.method = 'post';
      document.body.appendChild(new_form);

      var inp_hid = document.createElement("input");

      inp_hid.type = 'hidden';
      inp_hid.name = 'ids';
      inp_hid.value = out;

      new_form.appendChild(inp_hid);
      new_form.submit();
   }
}

function CheckAll2(obj,act)
{
	if (DOM) {
		o = document.getElementsByName(obj);
		for (i = 0; i < o.length; i++){
			o[i].checked = act;
		}
	}
}
//}}}

// dropFile(btn), addFile(btn), checkForLast(){{{
function dropFile(btn){
	if(document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR') tr = tr.parentNode;
		tr.parentNode.removeChild(tr);
		checkForLast();
	}
}

function addFile(btn){
	if(document.getElementById) {
		tr = btn;
		while (tr.tagName != 'TR') tr = tr.parentNode;
		var idSuffix = Math.round(Math.random()*1000);
		var newTr = tr.parentNode.insertBefore(tr.cloneNode(true),tr.nextSibling);
		thisChilds = newTr.getElementsByTagName('td');
		for (var i = 0; i < thisChilds.length; i++){
			if (thisChilds[i].className == 'header') thisChilds[i].innerHTML = '';
			if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input type="text" size="26" name="dns01" class="fld003" />';
		}
		checkForLast();
	}
}

function checkForLast(){
	btns = document.getElementsByName('drop');
	for (i = 0; i < btns.length; i++){
		btns[i].disabled = (btns.length == 1) ? true : false;
	}
}
//}}}

// countBill (obj,rate,nds) {{{
function countBill (obj,rate,nds)
{
	o = document.getElementById(obj);
	
	if(o.sel001.value == '1')
	{
		o.fld002.value = o.fld001.value;
		document.getElementById('v002').innerHTML = o.fld001.value;
		
		o.fld003.value = o.fld001.value*nds - o.fld001.value;
		document.getElementById('v003').innerHTML = o.fld001.value*nds - o.fld001.value;
		
		o.fld004.value = o.fld001.value*nds;
		document.getElementById('v004').innerHTML = o.fld001.value*nds;
		
		o.fld005.value = o.fld001.value;
		document.getElementById('v005').innerHTML = o.fld001.value;
		
		o.fld008.value = o.fld001.value*rate;
		document.getElementById('v008').innerHTML = o.fld001.value*rate;
		
		o.fld009.value = rate;
		document.getElementById('v009').innerHTML = rate;
		
		//o.fld011.value = o.fld001.value;
		document.getElementById('v011').innerHTML = o.fld001.value;
	}
	else if(o.sel001.value == '2')
	{
		o.fld002.value = o.fld001.value / nds;
		document.getElementById('v002').innerHTML = o.fld001.value / nds;
		
		o.fld003.value = o.fld001.value - o.fld001.value / nds;
		document.getElementById('v003').innerHTML = o.fld001.value - o.fld001.value / nds;
		
		o.fld004.value = o.fld001.value;
		document.getElementById('v004').innerHTML = o.fld001.value;
		
		o.fld005.value = o.fld001.value / nds;
		document.getElementById('v005').innerHTML = o.fld001.value / nds;
		
		o.fld008.value = o.fld001.value*rate;
		document.getElementById('v008').innerHTML = o.fld001.value*rate;
		
		o.fld009.value = rate;
		document.getElementById('v009').innerHTML = rate;
		
		document.getElementById('v011').innerHTML = o.fld001.value / nds;
	}
	else if(o.sel001.value == '3')
	{
		o.fld002.value = o.fld001.value;
		document.getElementById('v002').innerHTML = o.fld001.value;
		
		o.fld003.value = o.fld001.value*nds - o.fld001.value;
		document.getElementById('v003').innerHTML = o.fld001.value*nds - o.fld001.value;
		
		o.fld004.value = o.fld001.value*nds;
		document.getElementById('v004').innerHTML = o.fld001.value*nds;
		
		o.fld005.value = o.fld001.value;
		document.getElementById('v005').innerHTML = o.fld001.value;
		
		o.fld008.value = o.fld001.value;
		document.getElementById('v008').innerHTML = o.fld001.value;
		
		o.fld009.value = rate;
		document.getElementById('v009').innerHTML = rate;
		
		//o.fld011.value = o.fld001.value;
		document.getElementById('v011').innerHTML = Math.round((o.fld001.value / rate)*100) / 100;
	}
	else if(o.sel001.value == '4')
	{
		o.fld002.value = o.fld001.value / nds;
		document.getElementById('v002').innerHTML = o.fld001.value / nds;
		
		o.fld003.value = o.fld001.value - o.fld001.value / nds;
		document.getElementById('v003').innerHTML = o.fld001.value - o.fld001.value / nds;
		
		o.fld004.value = o.fld001.value;
		document.getElementById('v004').innerHTML = o.fld001.value;
		
		o.fld005.value = o.fld001.value / nds;
		document.getElementById('v005').innerHTML = o.fld001.value / nds;
		
		o.fld008.value = o.fld001.value;
		document.getElementById('v008').innerHTML = o.fld001.value;
		
		o.fld009.value = rate;
		document.getElementById('v009').innerHTML = rate;
		
		document.getElementById('v011').innerHTML = Math.round(((o.fld001.value / nds) / rate)*100) / 100;
	}
	
}
//}}}

// getElementPosition(offsetTrail) {{{
function getElementPosition(offsetTrail)
{
	var offsetLeft = 0;
	var offsetTop = 0;
	while(offsetTrail)
	{
		offsetLeft += offsetTrail.offsetLeft;
		offsetTop += offsetTrail.offsetTop;
		offsetTrail = offsetTrail.offsetParent;
	}
	return {left:offsetLeft, top:offsetTop}
}
//}}}

// Функции для показа \ скрытия \ проверки расширенного поиска {{{
function showSearch(img_for_coords,obj,move,x)
{
   var o = document.getElementById(img_for_coords);
	var coords = getElementPosition(o);
   var coords_corner = getElementPosition(document.getElementById('r01logo'));
	var layer = document.getElementById(obj);
  
   move = typeof(move) != 'undefined' ? move : 46;
   if (typeof(x) != 'undefined') {coords.left -= x;}

	layer.style.left = (coords.left) + 'px';
   // Цифра 46 - высота футера
	layer.style.top = (coords.top - coords_corner.top + move ) + 'px';
   
	if(document.getElementById('oper')) 
   {
      document.getElementById('oper').style.visibility = 'hidden';
	   document.getElementById('oper').style.display = 'none';
   }
   
	document.getElementById(obj).style.visibility = 'visible';
	document.getElementById(obj).style.display = 'block';
}

function showSearchPlus(img_for_coords,obj)
{
  showSearch(img_for_coords,obj);
  var i = document.getElementById('frm');
  var j = document.getElementById(obj);
  var k = document.getElementById('dtinfo1');
  k.style.visibility = 'hidden';
//  i.style.top     = j.style.top;
//  i.style.left    = j.style.left;
//  i.style.width   = j.style.width;
//  i.style.height  = j.style.height;
//  i.style.zIndex  = 0;
//  i.style.display = 'block';
}

function hideSearch(obj)
{
	document.getElementById(obj).style.visibility = 'hidden';
   document.getElementById(obj).style.display = 'none';
}

function hideSearchPlus(obj)
{
   document.getElementById(obj).style.visibility = 'hidden';
   document.getElementById(obj).style.display = 'none';
   var k = document.getElementById('dtinfo1');
   k.style.visibility = 'visible';
//   var i = document.getElementById('frm');
//   i.style.display = 'none';
}
//}}}

// Show / Hide Opers {{{
function showOpers(img_for_coords,obj)
{
	var o = document.getElementById(img_for_coords);
	var coords = getElementPosition(o);
	var layer = document.getElementById(obj);
	layer.style.left = (coords.left + o.offsetWidth - 400) + 'px';
	layer.style.top = (coords.top + o.offsetHeight - 19) + 'px';
	
	if(getElementById('search'))
   {
      document.getElementById('search').style.visibility = 'hidden';
      document.getElementById('search').style.display = 'none';
   }
	
	document.getElementById(obj).style.visibility = 'visible';
	document.getElementById(obj).style.display = 'block';
}

function showOpersWoSearch(evt,obj)
{
   var evt = evt || window.event;
   var o = evt.target || evt.srcElement;
   var coords = getElementPosition(o);
   var layer = document.getElementById(obj);
   var btn = document.getElementById(btn)
   layer.style.left = (coords.left + o.offsetWidth - layer.style.width) + 'px';
   layer.style.top = (coords.top) + 'px';

   document.getElementById(obj).style.visibility = 'visible';
   document.getElementById(obj).style.display = 'block';
}

function hideOpers(obj)
{
	document.getElementById(obj).style.visibility = 'hidden';
	document.getElementById(obj).style.display = 'none';
}
//}}}

// селекты чекбоксов: selAll / unselAll / SelUnselAll {{{
function selAll(frm){
   for(i=0; i<frm.elements.length; i++){
      if(frm.elements[i].type == "checkbox" && frm.elements[i].name != "frombase")
         frm.elements[i].checked = true;
   }
}

function unselAll(frm){
   for(i=0; i<frm.elements.length; i++){
      if(frm.elements[i].type == "checkbox" && frm.elements[i].name != "frombase")
         frm.elements[i].checked = false;
   }
}

function SelUnselAll(frm){
   for(i=0; i<frm.elements.length; i++){
      if(frm.elements[i].type == "checkbox" && frm.elements[i].name != "frombase" && frm.elements[i].name != "checkall")
         { frm.elements[i].checked = frm.checkall.checked;
          }
   }
}
//}}}

// DadminsChangeFormText(radio), MemberChangeFormText(radio) {{{
function DadminsChangeFormText(radio)
{
   text1 = document.getElementById('search_by_rus');
   text2 = document.getElementById('search_by_eng');
   if(radio.value=='PERSON')
   {
      text1.innerHTML = document.getElementById('person_rus').value;
      text2.innerHTML = document.getElementById('person_eng').value;
   }
   if(radio.value=='ORG')
   {
      text1.innerHTML = document.getElementById('org_rus').value;
      text2.innerHTML = document.getElementById('org_eng').value;
   }
   if(radio.value=='ALL')
   {
      text1.innerHTML = document.getElementById('all_rus').value;
      text2.innerHTML = document.getElementById('all_eng').value;
   }
}

function MemberChangeFormText(radio)
{
   text1 = document.getElementById('search_by_rus');
   input1 = document.getElementById('name_rus');
   if(radio.value=='2')
   {
      text1.innerHTML = document.getElementById('person_rus').value;
      input1.name = 'person_r';
   }
   if(radio.value=='1')
   {
      text1.innerHTML = document.getElementById('org_rus').value;
      input1.name = 'org_r';
   }
   if(radio.value=='3')
   {
      text1.innerHTML = document.getElementById('org_rus').value;
      input1.name = 'org_r';
   }
   if(radio.value=='0')
   {
      text1.innerHTML = document.getElementById('all_rus').value;
      input1.name = 'name_rus';
   }
}
// }}}

// ShowById(id), HideById(id) {{{
function ShowById(id)
{
   elem = document.getElementById(id);

   elem.style.visibility = 'visible';
   elem.style.display = 'block';
}

function HideById(id)
{
   elem = document.getElementById(id);

   elem.style.visibility = 'hidden';
   elem.style.display = 'none';
}
//}}}

// chooseNsReg, chooseNs2(), chooseDnssec(what_do) {{{
function chooseNsReg(type_ns_active,type_ns_deactive,m_ns,s_ns){
   text1 = document.getElementById('ns1_before_form');
   text2 = document.getElementById('ns2_before_form');
   text3 = document.getElementById('ns_after_form');
   text4 = document.getElementById('ns_textarea_enabled');
   text5 = document.getElementById('ns_textarea_disabled');
   if(document.getElementById(type_ns_active).checked == true) {
      if(type_ns_active == 'ns_reg12') {
         text1.innerHTML = m_ns;
         text2.innerHTML = s_ns;
         text3.innerHTML = '&nbsp;';
         text4.innerHTML = '';
         text5.innerHTML = '<textarea cols=40 rows=3 name=form_ns class=fld007 disabled></textarea>';
         document.dom_properties.elements["form_dnssec"].disabled=true;         

      } else if (type_ns_active == 'ns_reg2') {
         text1.innerHTML = '&nbsp;';
         text2.innerHTML = '&nbsp;';
         text3.innerHTML = s_ns;
         text4.innerHTML = '<textarea cols=40 rows=3 name=form_ns class=fld007></textarea>';
         text5.innerHTML = '';
         document.dom_properties.elements["form_dnssec"].disabled = false;
      }
      document.dom_properties.elements[type_ns_deactive].checked = false;
   }
   else {
      text1.innerHTML = '&nbsp;';
      text2.innerHTML = '&nbsp;';
      text3.innerHTML = '&nbsp;';
      text4.innerHTML = '<textarea cols=40 rows=3 name=form_ns class=fld007></textarea>';
      text5.innerHTML = '';
      document.dom_properties.elements["form_dnssec"].disabled=false;
   }
}

function chooseNs2(s_ns){
   text3 = document.getElementById('ns_after_form');
   if(document.getElementById('ns_reg2').checked == true) {
      text3.innerHTML = s_ns;
   }
   else {
      text3.innerHTML = '&nbsp;';
   }
}

function chooseDnssec(what_do){
   text3 = document.getElementById('ns_after_form');
   if(what_do == 'off') {
      document.dom_properties.elements["form_dnssec"].disabled=true;
   }
   else {
      document.dom_properties.elements["form_dnssec"].disabled=false;
   }
}

function chooseDontTest(what_do){
   text3 = document.getElementById('dont_test_ns');
   if(what_do == 'on') {
      text3.checked=true;
//      text3.disabled=true;
   }
   else {
      text3.checked=false;
//      text3.disabled=false;
   }

}


//}}}

//ReplaceAndSubmit(form_name) {{{
function ReplaceAndSubmit(form_name)
{
   my_form = document.forms[form_name];

   rexp = new RegExp(String.fromCharCode(8470),'g');
   rexp2 = new RegExp('['+String.fromCharCode(8220,8221,171,187)+']','g');
   
   inputs = my_form.getElementsByTagName('input');
   for(var k=0;k<inputs.length;k++)
   {
      if(inputs[k].getAttribute('type')=='text')
      {
         
         inputs[k].value = inputs[k].value.replace(rexp,'N');
         inputs[k].value = inputs[k].value.replace(rexp2,'"');
      }
   }

   textareas = my_form.getElementsByTagName('textarea');
   for(var k=0;k<textareas.length;k++)
   {
      textareas[k].value = textareas[k].value.replace(rexp,'N');
      textareas[k].value = textareas[k].value.replace(rexp2,'"');
   }

   my_form.submit();
}
//}}}

// goparking(dom), delparking(dom) {{{
function goparking(dom)
{
   document.parking.domain.value = dom;
   document.parking.submit();
}
function delparking(dom)
{
   document.parking.method = 'POST';
   document.parking.action = 'parking_delete.khtml';
   document.parking.dom_choosed.value = dom;
   document.parking.submit();
}
//}}}

//Функции showHint и hideHint {{{
function hideHint(targetElement)
{
   if (document.getElementById(targetElement))
   {document.getElementById(targetElement).innerHTML='';}
   UnTip();
}

function showHint(targetElement, hintText)
{
   if (hintText == "<p></p>" || hintText == "") return;
   hideHint(targetElement);
   if (document.getElementById(targetElement))
   {document.getElementById(targetElement).innerHTML = hintText;}
   Tip(hintText);
}
//}}}

//функции для списка доступа ип {{{
function cell()
{
   var last = 0; 
   var a = document.getElementById('ds');
   var b = document.getElementById('us');
   var c = document.getElementById('rs');
   var d = document.getElementById('dl');
   var e = document.getElementById('dsi');
   var f = document.getElementById('usi');
   var n = document.getElementById('maintable').rows.length;
   var x = document.getElementById('maintable');
   //x.style.marginLeft = 30 + 'pt';

   for(var i = 1; i < n; i++)
   {
      if (x.rows[i].cells[0].childNodes.length > 1)
      {
         chi = x.rows[i].cells[0].childNodes[1];
         x.rows[i].cells[0].removeChild(chi);
      }
   }


   //Скрываем первый столбец
   //for (var i=0; i < x.rows.length; i++)
   //{
   //   x.rows[i].cells[0].style.display = 'none';
   //}

   //if (n < 3) return;

   for(var i = 1; i < n; i++)
   {
      x.rows[i].onmouseover=function(){posarrowdiv(this); highlight(this);}
      x.rows[i].onmouseout=function(){unhighlight(this);}
      x.rows[i].onclick=function(){addrule();}
      if (x.rows[i].cells[3].childNodes.length == 2) {last = i - 1; break;}
   }

   //if (last < 2) return;
   for(var i = 1; i <= last; i++)
   {
      x.rows[i].cells[1].childNodes[0].onkeydown=function(){showbtns();}
      x.rows[i].cells[1].childNodes[0].onmousedown=function(){showbtns();}
      x.rows[i].cells[3].childNodes[0].onchange=function(){showbtns();}
      x.rows[i].cells[4].childNodes[0].onkeydown=function(){showbtns();}
      x.rows[i].cells[4].childNodes[0].onmousedown=function(){showbtns();}
      x.rows[i].cells[6].childNodes[0].onkeydown=function(){showbtns();}
      x.rows[i].cells[6].childNodes[0].onmousedown=function(){showbtns();}

      document.getElementById('maintable').rows[i].cells[5].innerHTML = "";
      if (last > 1)
      {
         document.getElementById('maintable').rows[i].cells[5].innerHTML = "<img src=\"" + a.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" style=\"cursor: pointer;\" onclick=\"celldown(" + i + ");\"/>&nbsp;&nbsp;&nbsp;<img src=\"" + b.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" style=\"cursor: pointer;\" onclick=\"cellup(" + i + ");\"/>";
         if (i == 1)
         {
            document.getElementById('maintable').rows[i].cells[5].innerHTML = "<img src=\"" + a.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" style=\"cursor: pointer;\" onclick=\"celldown(" + i + ");\"/>&nbsp;&nbsp;&nbsp;<img src=\"" + f.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" />";
         }

         if (i == last)
         {
            document.getElementById('maintable').rows[i].cells[5].innerHTML = "<img src=\"" + e.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" />&nbsp;&nbsp;&nbsp;<img src=\"" + b.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" style=\"cursor: pointer;\" onclick=\"cellup(" + i + ");\"/>";
         }
      }

      document.getElementById('maintable').rows[i].cells[5].innerHTML = document.getElementById('maintable').rows[i].cells[5].innerHTML + "&nbsp;&nbsp;&nbsp;<img src=\"" + d.value + "\" alt=\"\" height=\"16\" width=\"16\" class=\"center\" style=\"cursor: pointer;\" onclick=\"celldel(" + i + ");\"/>";

      document.getElementById('maintable').rows[i].cells[4].innerHTML = "<INPUT type='text' name='sort' class='fld001' value='" + i*10 + "' size='4'>";
   }

   for(var i = 1; i < n; i++)
   {
      text1 = document.createTextNode(i);
      x.rows[i].cells[0].appendChild(text1);
   }
}

function celldel(i)
{
   var svk = document.getElementById('savok');
   if(svk){svk.style.display = 'none';}

   document.getElementById('maintable').deleteRow(i);
   cell();
   showbtns();
}

function celldown(i)
{
   var svk = document.getElementById('savok');
   if(svk){svk.style.display = 'none';}

   var x = document.getElementById('maintable');
   var t0 = x.rows[i].cells[1].innerHTML;
   var t1 = x.rows[i+1].cells[1].innerHTML;
   x.rows[i].cells[1].innerHTML = t1;
   x.rows[i+1].cells[1].innerHTML = t0;

   var t0 = x.rows[i].cells[2].innerHTML;
   var t1 = x.rows[i+1].cells[2].innerHTML;
   x.rows[i].cells[2].innerHTML = t1;
   x.rows[i+1].cells[2].innerHTML = t0;

   var t0 = x.rows[i].cells[3].innerHTML;
   var t1 = x.rows[i+1].cells[3].innerHTML;
   x.rows[i].cells[3].innerHTML = t1;
   x.rows[i+1].cells[3].innerHTML = t0;
   
   var t0 = x.rows[i].cells[6].innerHTML;
   var t1 = x.rows[i+1].cells[6].innerHTML;
   x.rows[i].cells[6].innerHTML = t1;
   x.rows[i+1].cells[6].innerHTML = t0;

   showbtns();
}

function cellup(i)
{
   var svk = document.getElementById('savok');
   if(svk){svk.style.display = 'none';}

   var x = document.getElementById('maintable');
   var t0 = x.rows[i-1].cells[1].innerHTML;
   var t1 = x.rows[i].cells[1].innerHTML;
   x.rows[i-1].cells[1].innerHTML = t1;
   x.rows[i].cells[1].innerHTML = t0;

   var t0 = x.rows[i-1].cells[2].innerHTML;
   var t1 = x.rows[i].cells[2].innerHTML;
   x.rows[i-1].cells[2].innerHTML = t1;
   x.rows[i].cells[2].innerHTML = t0;

   var t0 = x.rows[i-1].cells[3].innerHTML;
   var t1 = x.rows[i].cells[3].innerHTML;
   x.rows[i-1].cells[3].innerHTML = t1;
   x.rows[i].cells[3].innerHTML = t0;
   
   var t0 = x.rows[i-1].cells[6].innerHTML;
   var t1 = x.rows[i].cells[6].innerHTML;
   x.rows[i-1].cells[6].innerHTML = t1;
   x.rows[i].cells[6].innerHTML = t0;
   
   showbtns();
}

function razdvinut()
{
   var last = 0;
   var x = document.getElementById('maintable');
   var n = document.getElementById('maintable').rows.length;
   if (n == 1) return;

   for(var i = 1; i < n; i++)
   {
      if (x.rows[i].cells[3].innerHTML == 'READONLY') last = i - 1;
   }

   for (var i=1; i<=(last+1); i = i + 2)
   {
      last++;
      x.insertRow(i);
      for (var k = 0; k<=4; k++)
      {
         x.rows[i].insertCell(k);
         if (k != 0) {x.rows[i].cells[k].align = "center";}
      }
//      x.rows[i].cells(0).innerHTML = "Нажмите здесь для ввода нового правила в этом месте";
      x.rows[i].style.height = 5 + 'px';
      x.rows[i].style.backgroundColor = "#0011FF";
      x.rows[i].style.color = "#FFFFFF";
      x.rows[i].onclick=function(){addrule(this);}
      x.rows[i].onmouseout=function(){this.style.backgroundColor = "#0011FF";}
      x.rows[i].onmouseover=function(){this.style.backgroundColor = "#00FF11";}
   }
}

function addrule()
{
   var nrh = document.getElementById('newrulehint');
   if (nrh.style.display == 'none'){return;}
   var coords_corner = getElementPosition(document.getElementById('r01logo'));
   var x = document.getElementById('maintable');
   var n = document.getElementById('maintable').rows.length;
   var y = document.getElementById('arrowdiv');
   if (n == 1) return;
   for(var i = 1; i < n; i++)
   {
   //alert(y.style.top+" "+getElementTop(x.rows[i]) + 35 + 'px');
      if (y.style.top == (getElementPosition(x.rows[i]).top - coords_corner.top) + 37 + 'px'){f = i;}
   }

   var h = document.getElementById('highlight');
   x.rows[f].style.backgroundColor = h.value;
   x.insertRow(f);
   for (var k = 0; k<=6; k++)
   {
      x.rows[f].insertCell(k);
      if (k != 1) {x.rows[f].cells[k].align = "center";}
   }

   obj = x.rows[f];
   obj.style.color = "#000000";
   obj.style.backgroundColor = "#FFFFFF";
   obj.onclick="";
   obj.onmouseout="";
   obj.onmouseover="";
   //obj.cells[0].style.display = "block";
   obj.cells[1].className = "td_all";
   obj.cells[0].innerHTML = "<INPUT type='hidden' value='f' name='ro'>";

   element = document.createElement("input");
   element.setAttribute("name", "net");
   element.setAttribute("size", "35");
   element.setAttribute("type", "text");
   obj.cells[1].appendChild(element);
   obj.cells[1].childNodes[0].style.border = "1px solid #7F9DB9";
   obj.cells[1].childNodes[0].style.padding = "2px";

   element = document.createElement("select");
   element.setAttribute("name", "valuea");
   
   text1 = document.createTextNode(document.getElementById('yes_span').innerHTML);
   text2 = document.createTextNode(document.getElementById('no_span').innerHTML);
   option = document.createElement('option');
   option.setAttribute('value', 't');
   option.appendChild(text1);
   element.appendChild(option);
   option = document.createElement('option');
   option.setAttribute('value', 'f');
   option.appendChild(text2);
   element.appendChild(option);
   obj.cells[3].appendChild(element);

   element = document.createElement("input");
   element.setAttribute("size", "4");
   element.setAttribute("name", "sort");
   element.setAttribute("type", "text");
   obj.cells[4].appendChild(element);

   obj.cells[2].innerHTML = "<b>NEW</b>";

   element = document.createElement("input");
   element.setAttribute("name", "info");
   element.setAttribute("type", "text");
   element.setAttribute("size", "25");
   obj.cells[6].appendChild(element);
   obj.cells[6].childNodes[0].style.border = "1px solid #7F9DB9";
   obj.cells[6].childNodes[0].style.padding = "2px";
   
   d = document.getElementById('arrowdiv');
   d.style.display = 'none';
   nrh.style.display = 'none';
//   for (var k = 0; k<(document.getElementById('maintable').rows.length); k++)
//   {
//      if (x.rows[k].style.backgroundColor == "#0011ff"){x.deleteRow(k);}
//      if (x.rows[k].style.backgroundColor == "#00ff11"){x.deleteRow(k);}
//   }
   cell();
   showbtns();
}

function posarrowdiv(obj)
{
   //Позиционируем стрелку
   var coords_corner = getElementPosition(document.getElementById('r01logo'));
   x = document.getElementById('arrowdiv');

   x.style.top = (getElementPosition(obj).top - coords_corner.top) + 37 + 'px';
   //x.style.left = getElementPosition(obj).left + 20 + 'px';
   x.style.left = getElementPosition(obj).left - 15 + 'px';
}

function addnewrule()
{
   var x = document.getElementById('maintable');
   var nrh = document.getElementById('newrulehint');
   nrh.style.display = 'block';

   var svk = document.getElementById('savok');
   if(svk){svk.style.display = 'none';}

   //for (var i=0; i < x.rows.length; i++) 
   //{
   //   x.rows[i].cells[0].style.display = 'block';
   //}

   posarrowdiv(x.rows[1]);

   d = document.getElementById('arrowdiv');
   d.style.display = 'block';
}

function aclapply()
{
   var x = document.getElementById('maintable');
   var n = document.getElementById('maintable').rows.length;
   if (n < 2) return;
   for(var i = 1; i < n; i++)
   {
      //if (x.rows[i].cells[4].innerHTML == 'READONLY') last = i - 1;
      x.rows[i].cells[1].childNodes[0].name = "net"+i;
      x.rows[i].cells[1].childNodes[0].disabled = false;
      x.rows[i].cells[3].childNodes[0].name = "valuea"+i;
      x.rows[i].cells[3].childNodes[0].disabled = false;
      x.rows[i].cells[4].childNodes[0].name = "sort"+i;
      x.rows[i].cells[4].childNodes[0].disabled = false;
      x.rows[i].cells[6].childNodes[0].name = "info"+i;
      x.rows[i].cells[6].childNodes[0].disabled = false;
      x.rows[i].cells[0].childNodes[0].name = "ro"+i;
      //alert(x.rows[i].innerHTML);
   }
   document.forms["acl_apply"].submit();
}

function showbtns()
{
   var a = document.getElementById('btnsave');
   var b = document.getElementById('btncancel');
   a.disabled = false;
   b.disabled = false;
}

function aclcancelapply()
{
   var a = document.getElementById('inputcancel');
   var x = document.getElementById('gettype');
   var y = document.getElementById('getid');
   a.name = x.value;
   a.value = y.value;
   document.forms["acl_cancel2"].submit();
}

function highlight(obj)
{
   //Если подсказка про новое правило не высвечена, значит выходим из функции.
   var nrh = document.getElementById('newrulehint');
   if (nrh.style.display == 'none'){return;}

   //Меняем цвет
   var h = document.getElementById('highlight');
   h.value = obj.style.backgroundColor;
   obj.style.backgroundColor = "#EEEEEE";
}

function unhighlight(obj)
{
   //Если подсказка про новое правило не высвечена, значит выходим из функции.
   var nrh = document.getElementById('newrulehint');
   if (nrh.style.display == 'none'){return;}

   //Меняем цвет на старый.
   var h = document.getElementById('highlight');
   obj.style.backgroundColor = h.value;
}
//}}}

//{{{ checkmail()
function checkmail()
{
   var f = document.getElementById('frwrd');
   var q = document.getElementById('save_btn');
   if (!(/\w+@\w+\.[a-z]{2,4}/.test(f.value)))
   {q.disabled = true;}
   else
   {q.disabled = false;}
}
//}}}

//{{{ openInNewWindow
function openInNewWindow(o, x) 
{ 
   var x = document.getElementById(x);
   var newWindow = window.open(x.value + '&outputf=' + o, '_blank'); 
   newWindow.focus(); 
} 
// }}}

//{{{ checkThisColumn(checkbox)
function checkThisColumn(checkbox)
{
   var table = document.getElementById('domaintable');
   var trs = table.getElementsByTagName('tr');
   for (var i=0; i<trs.length; i++) //заголовок пропустим
   {     
      var tds = trs[i].getElementsByTagName('td');
      if (i==0)
      {
         for (var j=1; j<tds.length; j++) // и первую колонку пропустим
         {
            // определим номер столбца
            if(tds[j]==checkbox.parentNode)
            { var colnumber = j; }
         }
      }  
      else if(tds[colnumber].getElementsByTagName('input').length > 0)
         tds[colnumber].getElementsByTagName('input')[0].checked=checkbox.checked; // включим чекбокс
   }  
}  
// }}}

//{{{ checkThisRow(checkbox)
function checkThisRow(checkbox)
{
   var tr = checkbox.parentNode.parentNode;
   var tds = tr.getElementsByTagName('td');
   for (var j=1; j<tds.length; j++) // первую колонку пропустим
   {
      if(tds[j].getElementsByTagName('input').length > 0)
         tds[j].getElementsByTagName('input')[0].checked=checkbox.checked; // включим чекбокс если он есть
   }
}  
// }}}

//{{{ fillContForm 
function fillContForm(type,name,cid,reguid)
{
   switch(type)
   {
      case 'all':
         opener.document.getElementById('regcont').innerHTML=name;
         opener.document.getElementById('registrant_cid').value=cid;
         opener.document.getElementById('admcont').innerHTML=name;
         opener.document.getElementById('admin_cid').value=cid;
         opener.document.getElementById('regfirstadm').innerHTML='';
         opener.document.getElementById('techcont').innerHTML=name;
         opener.document.getElementById('tech_cid').value=cid;
         opener.document.getElementById('regfirsttech').innerHTML='';
         opener.document.getElementById('billcont').innerHTML=name;
         opener.document.getElementById('bill_cid').value=cid;
         opener.document.getElementById('regfirstbill').innerHTML='';
         opener.document.getElementById('reguid').value=reguid;
      break;
      case 'allcid':
         opener.document.getElementById('regcont').innerHTML=name;
         opener.document.getElementById('registrant_cid').value=cid;
         opener.document.getElementById('admin_cid').value=cid;
         opener.document.getElementById('tech_cid').value=cid;
         opener.document.getElementById('bill_cid').value=cid;
      break;
      case 'reg':
         opener.document.getElementById('regcont').innerHTML=name;
         opener.document.getElementById('registrant_cid').value=cid;
      break;
      case 'adm':
         opener.document.getElementById('admcont').innerHTML=name;
         opener.document.getElementById('admin_cid').value=cid;
      break;
      case 'tech':
         opener.document.getElementById('techcont').innerHTML=name;
         opener.document.getElementById('tech_cid').value=cid;
      break;
      case 'bill':
         opener.document.getElementById('billcont').innerHTML=name;
         opener.document.getElementById('bill_cid').value=cid;
      break;
   }
   self.close();
}
// }}}

//  chooseNs2_mul {{{
function chooseNs2_mul(zone,s_ns){
   text3 = document.getElementById('ns_after_form_'+zone);
   if(document.getElementById('ns_reg2_'+zone).checked == true) {
      text3.innerHTML = s_ns;
   }
   else {
      text3.innerHTML = '&nbsp;';
   }
}

// }}}

//{{{ openInNewWindow
function hideallaboutphone()
{
  var f = document.getElementById('pphone');
  var a = document.getElementById('rad');
  var b = document.getElementById('tocheck');
  var c = document.getElementById('phmail');
  if (f.checked && f.disabled == false)
  {
    a.disabled = false;
    b.disabled = false;
    c.disabled = false;
  }
  else
  {
    a.disabled = true;
    b.disabled = true;
    c.disabled = true;
  }
}
// }}}

//{{{ calsetup(trigger, pole, god, st) Calendar Setup function
function calsetup(trigger, pole, god, st)
{
   if (!god) {god = 1990;}
   if (!st) {st = false; informat = "%d-%m-%Y";} else {st = true; informat = "%d-%m-%Y %H:%M:%S";}

   Calendar.setup({
      inputField  : pole,                // ID of the input field
      dateFormat  : "%d-%m-%Y",
      //button      : trigger,              // ID of the button
      trigger     : trigger,
      range       : [god, 2020],
      showsTime   : st,
      dateFormat  : informat,
      animation   : false,
      onSelect    : function() { this.hide() }
   });
}
// }}}

//{{{ functions genhash(), puthash() - для работы с хэшем.
function genhash()
{
   document.getElementById('hash').value = hex_md5(document.getElementById('key').value).toUpperCase();
}

function puthash()
{
document.getElementById('SECRET_KEY').value = document.getElementById('hash').value;
}
//}}}

//{{{ For mailbox textbox
function IsThereSomethingInTheTextbox(a,b)
{
   c = document.getElementById(a);
   d = document.getElementById(b);
   if (c.value == '')
   {
      d.selectedIndex = 2;
      d.disabled = true;
   }
   else
   {
      d.disabled = false;
   }
}
//}}}

//{{{ For 'WHENEXECUTE' checkboxes hiding & displaying
function WhenexecuteRadioClick(a)
{
   e1 = document.getElementById("trigger1");
   e2 = document.getElementById("trigger2");
   e3 = document.getElementById("trigger3");
   e4 = document.getElementById("im1");
   e5 = document.getElementById("im2");
   e6 = document.getElementById("im3");
   e7 = document.getElementById("date");
   e8 = document.getElementById("date_to");
   e9 = document.getElementById("date_from");
   if (a == 1)
   {
      e1.style.display = 'none';
      e2.style.display = 'none';
      e3.style.display = 'none';
      e4.style.display = 'inline';
      e5.style.display = 'inline';
      e6.style.display = 'inline';
      e7.disabled = true;
      e8.disabled = true;
      e9.disabled = true;
   }
   if (a == 2)
   {
      e1.style.display = 'inline';
      e2.style.display = 'none';
      e3.style.display = 'none';
      e4.style.display = 'none';
      e5.style.display = 'inline';
      e6.style.display = 'inline';
      e7.disabled = false;
      e8.disabled = true;
      e9.disabled = true;
   }
   if (a == 3)
   {
      e1.style.display = 'none';
      e2.style.display = 'inline';
      e3.style.display = 'inline';
      e4.style.display = 'inline';
      e5.style.display = 'none';
      e6.style.display = 'none';
      e7.disabled = true;
      e8.disabled = false;
      e9.disabled = false;
   }
}
//}}}

var is_shown = false;

//  selRRecord {{{
//число-ключ для записи берется из порядка сортировки указанного в таблички dns_record_type
function selRRecord(seln,arr_rr) 
{

   selNum = seln.type_record.selectedIndex;
   Isel = seln.type_record.options[selNum].text;
   text_info = document.getElementById('rr_info_and_form');

   var maintable = document.getElementById("add_record_table");

   //для начала все спрячем
   var newclass = 'colla';
   //maintable.rows[1].className = newclass;
   //maintable.rows[2].className = newclass; //host
   //maintable.rows[3].className = newclass; //prior
   //maintable.rows[4].className = newclass; //weight
   //maintable.rows[5].className = newclass; //port
   //maintable.rows[6].className = newclass; //value
   //maintable.rows[7].className = newclass; //info
   //maintable.rows[8].className = newclass; //submit

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_pri').className = newclass;
   document.getElementById('tr_weig').className = newclass;
   document.getElementById('tr_port').className = newclass;
   document.getElementById('tr_val').className = newclass;
   document.getElementById('tr_algoritm').className = newclass;
   document.getElementById('tr_slepok').className = newclass;
   document.getElementById('tr_comment').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'hidden';
   document.getElementById('comment_owner').style.display = 'none';

   document.getElementById('comment_owner_ptr').style.visibility = 'hidden';
   document.getElementById('comment_owner_ptr').style.display = 'none';

   document.getElementById('comment_owner_generate').style.visibility = 'hidden';
   document.getElementById('comment_owner_generate').style.display = 'none';

   document.getElementById('comment_data').style.visibility = 'hidden';
   document.getElementById('comment_data').style.display = 'none';

   document.getElementById('comment_data_a').style.visibility = 'hidden';
   document.getElementById('comment_data_a').style.display = 'none';

   document.getElementById('comment_data_aaaa').style.visibility = 'hidden';
   document.getElementById('comment_data_aaaa').style.display = 'none';

   document.getElementById('comment_data_generate').style.visibility = 'hidden';
   document.getElementById('comment_data_generate').style.display = 'none';

   document.getElementById("rr_form_submit").disabled=true;

   text_info.innerHTML = '';


   //а теперь в зависимости от того что выбрали, возможно что-то откроем
   var newclass = 'shown';


if(Isel == 'NS')
{
   text_info.innerHTML = arr_rr[0];
   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;
   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';

   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'A')
{
   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;

   text_info.innerHTML = arr_rr[1];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';

   document.getElementById('comment_data_a').style.visibility = 'visible';
   document.getElementById('comment_data_a').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;

}
if(Isel == 'MX')
{
   text_info.innerHTML = arr_rr[2];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[3].className = newclass;
   //maintable.rows[6].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_pri').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';
   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'CNAME')
{
   text_info.innerHTML = arr_rr[3];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';
   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'TXT')
{
   text_info.innerHTML = arr_rr[4];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';
   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'SRV')
{
   text_info.innerHTML = arr_rr[5];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[3].className = newclass;
   //maintable.rows[4].className = newclass;
   //maintable.rows[5].className = newclass;
   //maintable.rows[6].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_pri').className = newclass;
   document.getElementById('tr_weig').className = newclass;
   document.getElementById('tr_port').className = newclass;

   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';
   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'AAAA')
{
   text_info.innerHTML = arr_rr[6];
   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;

   document.getElementById('comment_owner').style.visibility = 'visible';
   document.getElementById('comment_owner').style.display = 'block';
   document.getElementById('comment_data_aaaa').style.visibility = 'visible';
   document.getElementById('comment_data_aaaa').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == 'PTR')
{
   text_info.innerHTML = arr_rr[8];

   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;
   //maintable.rows[7].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;
   document.getElementById('tr_comment').className = newclass;

   document.getElementById('comment_owner_ptr').style.visibility = 'visible';
   document.getElementById('comment_owner_ptr').style.display = 'block';
   document.getElementById('comment_data').style.visibility = 'visible';
   document.getElementById('comment_data').style.display = 'block';


   document.getElementById("rr_form_submit").disabled=false;
}
if(Isel == '$GENERATE')
{
//   text_info.innerHTML = arr_rr[7];

   document.getElementById('comment_owner_generate').style.visibility = 'visible';
   document.getElementById('comment_owner_generate').style.display = 'block';

   document.getElementById('comment_data_generate').style.visibility = 'visible';
   document.getElementById('comment_data_generate').style.display = 'block';


   //maintable.rows[1].className = newclass;
   //maintable.rows[8].className = newclass;

   //maintable.rows[2].className = newclass;
   //maintable.rows[6].className = newclass;
   //maintable.rows[7].className = newclass;

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_val').className = newclass;
   document.getElementById('tr_comment').className = newclass;

   document.getElementById("rr_form_submit").disabled=false;
}

if(Isel == 'SSHFP')
{
   text_info.innerHTML = arr_rr[7];

   document.getElementById('tr_record_info').className = newclass;
   document.getElementById('tr_subm').className = newclass;

   document.getElementById('tr_host').className = newclass;
   document.getElementById('tr_algoritm').className = newclass;
   document.getElementById('tr_slepok').className = newclass;

   document.getElementById('tr_val').className = newclass;

//   document.getElementById('comment_owner').style.visibility = 'visible';
//   document.getElementById('comment_owner').style.display = 'block';
//   document.getElementById('comment_data').style.visibility = 'visible';
//   document.getElementById('comment_data').style.display = 'block';

   document.getElementById("rr_form_submit").disabled=false;
}


}
// }}}

//  SelEditTtl {{{
function SelEditTtl(what)
{
   if(what == 'view_edit')
   {
      document.getElementById('form_edit_ttl').style.visibility = 'visible';
      document.getElementById('form_edit_ttl').style.display = 'block';

      document.getElementById('div_view_ttl').style.visibility = 'hidden';
      document.getElementById('div_view_ttl').style.display = 'none';
   }

   if(what == 'hide_edit')
   {
      document.getElementById('form_edit_ttl').style.visibility = 'hidden';
      document.getElementById('form_edit_ttl').style.display = 'none';

      document.getElementById('div_view_ttl').style.visibility = 'visible';
      document.getElementById('div_view_ttl').style.display = 'block';
   }

}
// }}}


//  SelEditMinimum {{{
function SelEditMinimum(what)
{
   if(what == 'view_edit')
   {
      document.getElementById('form_edit_minimum').style.visibility = 'visible';
      document.getElementById('form_edit_minimum').style.display = 'block';

      document.getElementById('div_view_minimum').style.visibility = 'hidden';
      document.getElementById('div_view_minimum').style.display = 'none';
   }

   if(what == 'hide_edit')
   {
      document.getElementById('form_edit_minimum').style.visibility = 'hidden';
      document.getElementById('form_edit_minimum').style.display = 'none';

      document.getElementById('div_view_minimum').style.visibility = 'visible';
      document.getElementById('div_view_minimum').style.display = 'block';
   }

}
// }}}

//  SelLoadZoneFile {{{
function SelLoadZoneFile(what)
{
   if(what == 'view_load')
   {
      document.getElementById('div_view_load').style.visibility = 'visible';
      document.getElementById('div_view_load').style.display = 'block';

      document.getElementById('div_view_load_info').style.visibility = 'hidden';
      document.getElementById('div_view_load_info').style.display = 'none';
   }

   if(what == 'hide_load')
   {
      document.getElementById('div_view_load').style.visibility = 'hidden';
      document.getElementById('div_view_load').style.display = 'none';

      document.getElementById('div_view_load_info').style.visibility = 'visible';
      document.getElementById('div_view_load_info').style.display = 'block';
   }
}
// }}}


//  SelLoadZoneTempl {{{
function SelLoadZoneTempl(what)
{
   if(what == 'view_load')
   {
      document.getElementById('div_view_load_templ').style.visibility = 'visible';
      document.getElementById('div_view_load_templ').style.display = 'block';

      document.getElementById('div_view_load_info').style.visibility = 'hidden';
      document.getElementById('div_view_load_info').style.display = 'none';
   }

   if(what == 'hide_load')
   {
      document.getElementById('div_view_load_templ').style.visibility = 'hidden';
      document.getElementById('div_view_load_templ').style.display = 'none';

      document.getElementById('div_view_load_info').style.visibility = 'visible';
      document.getElementById('div_view_load_info').style.display = 'block';
   }
}
// }}}

//  SetVisibility {{{
function SetVisibility(obj,val)
{
   obj.style.visibility=val;
}
// }}}

//  SetDisplay (universalnyi variant) {{{
function SetDisplay(objid, param1, param2)
{
   var o = document.getElementById(objid);
   if (param1 == param2)
   {
      o.style.display = 'block';
   }
   else
   {
      o.style.display = 'none';
   }
}
// }}}

//  MoveShow {{{
function MoveShow(obj_id,visib,x,y)
{
   var o = document.getElementById(obj_id);
   if(o != null)   
   {
      if(visib == 'show')
      {
         o.style.visibility = 'visible';
         o.style.display = 'block';
      }
      else
      {
         if(visib == 'change')
         {
            o.style.visibility = (o.style.visibility == 'hidden') ? 'visible' : 'hidden';
            o.style.display = (o.style.display == 'block') ? 'none' : 'block';
//            o.style.width = '600px';
         }
         else
         {
            o.style.visibility = 'hidden';
            o.style.display = 'none';
         }
      }
      
      if(o.style.display == 'block')
      {
         o.style.left = ( x + 32 ) + 'px';
         o.style.top = y + 'px';
      }
   }

}
// }}}

//  IsCheckboxChecked {{{
function IsCheckboxChecked(c,o)
{
   c = document.getElementById(c);
   o = document.getElementById(o);
   if (c.checked == true && c.disabled == false) {o.disabled = false;} else {o.disabled = true;}
}

function IsCheckboxCheckedInversed(c,o)
{
   c = document.getElementById(c);
   o = document.getElementById(o);
   if (c.checked == true && c.disabled == false) {o.disabled = true;} else {o.disabled = false;}
}

//}}}

//  chpaytype {{{
function chpaytype()
{
   a = document.getElementById('tp');
   if (a.options[a.selectedIndex].value == 1)
   {
      document.getElementById('fld0011').disabled = false;
      document.getElementById('fld0012').disabled = false;
   }
   else
   {
      document.getElementById('fld0011').disabled = true;
      document.getElementById('fld0012').disabled = true;
   }
}
//}}}

//  chooseAuNotify {{{
function chooseAuNotify(what_do){
   if(what_do == 'off') {
      document.getElementById("au_tyc").disabled=true;
      document.getElementById("au_pr").disabled=true;
      document.getElementById("au_symb").disabled=true;
   }
   else {
      document.getElementById("au_tyc").disabled=false;
      document.getElementById("au_pr").disabled=false;
      document.getElementById("au_symb").disabled=false;
   }
}
//}}}

//translate {{{
function translate(tex)
{
   var lat=new Array("jo","zh","i","ch","sh","sch","je","ju","ja","a","b","v","g","d","e","z","i","k","l","m","n","o","p","r","s","t","u","f","h","c","","y","","j","kh");
   var cyr=new Array("ё","ж","й","ч","ш","щ","э","ю","я","а","б","в","г","д","е","з","и","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ь","ы","ъ","ж","х");
   var latcap=new Array("JO","Jo","ZH","Zh","I","Ch","CH","Sh","SH","Sch","SCH","Je","JE","Ju","JU","Ja","JA","A","B","V","G","D","E","Z","I","K","L","M","N","O","P","R","S","T","U","F","H","C","Y","J","Kh");
   var cyrcap=new Array("Ё","Ё","Ж","Ж","Й","Ч","Ч","Ш","Ш","Щ","Щ","Э","Э","Ю","Ю","Я","Я","А","Б","В","Г","Д","Е","З","И","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ы","Ж","Х");

   var buf=tex;
   var i;
   for (i=0;i<latcap.length;i++)
   {
      buf=replace(buf,cyrcap[i],latcap[i]);
   }
   for (i=0;i<lat.length;i++)
   {
      buf=replace(buf,cyr[i],lat[i]);
   }
   tex=buf;
   return tex;
}
//}}}

//replace {{{
function replace(target,oldTerm,newTerm) 
{
   var work = target;
   var ind = 0;
   var  next = 0;

   while ((ind = work.indexOf(oldTerm,next)) >= 0) 
   {
      target = target.substring(0,ind) + newTerm +target.substring(ind+oldTerm.length,target.length);
      work = work.substring(0,ind) + newTerm +  work.substring(ind+oldTerm.length,work.length);
      next = ind + newTerm.length;
      if (next >= work.length) { break; }
   }

  return  target;
}
//}}}

//transform_fio {{{
function transform_fio(tex)
{
   var work = tex; 
   var i_probel1=0, i_probel2=0;

   i_probel1= work.indexOf(' ',0);
   i_probel2= work.indexOf(' ',i_probel1+1);

   if(( i_probel1 != i_probel2 ) && (i_probel2!=-1) )
      tex = work.substring(0,i_probel1+1) + work.substring(i_probel1+1,i_probel1+2) + '. ' + work.substring(i_probel2+1,i_probel2+2) + '.';
   else
      tex = work;

   return tex;
}
//}}}

//AutoFill {{{
function AutoFill(src,dst)
{
   a1 = document.getElementById(src);
   a2 = document.getElementById(dst);  
   if(dst == 'person') //переделываем на английский транслитом
   {
      a2.value=translate(a1.value);  
   }
   else if(dst == 'person_r_short') //переделываем на сокращенной ФИО
   {
      a2.value = transform_fio(a1.value);
   }
   else if(dst == 'login') //переделываем домен в ftp-логин
   {
      a2.value = a1.value.toLowerCase();
      if(a1.value.length>16) a2.value = a2.value.substring(0,16);  //если на входе более 16 символов, то обрежем 
   }
   else 
      a2.value = a1.value;
}
//}}}

//formFocus {{{
function formFocus(formIdForFocus) {
   var aForm = document.getElementById(formIdForFocus);
   if( aForm.elements[0]!=null) {
      var i;
      var max = aForm.length;
      for( i = 0; i < max; i++ ) {
         if( aForm.elements[ i ].type != "hidden" &&
            !aForm.elements[ i ].disabled &&
            !aForm.elements[ i ].readOnly ) {
            aForm.elements[ i ].focus();
            break;
         }
      }
   }
}
//}}}


//  SelUnset {{{
function SelUnset(what)
{
   if(what == 'adm_ch')
   {
      document.getElementById('form_unset_adm_ch').style.visibility = 'visible';
      document.getElementById('form_unset_adm_ch').style.display = 'block';

      document.getElementById('div_unset_adm_ch').style.visibility = 'hidden';
      document.getElementById('div_unset_adm_ch').style.display = 'none';
   }

   if(what == 'reg_ch')
   {
      document.getElementById('form_unset_reg_ch').style.visibility = 'hidden';
      document.getElementById('form_unset_reg_ch').style.display = 'none';

      document.getElementById('div_unset_reg_ch').style.visibility = 'visible';
      document.getElementById('div_unset_reg_ch').style.display = 'block';
   }

}
// }}}

//{{{ AddSumInv(summ)
function AddSumInv(summ)
{
   var form_sum = document.getElementById("fld_sum");

   form_sum.value=summ;
}
//}}}

//{{{ ShowActionParams(id,what)
   function ShowActionParams(id,what)
   {
      var maintable = document.getElementById("params_info_"+id);

      if(what == 0)
      {
         maintable.rows[0].className = 'colla';
         maintable.rows[1].className = 'shown';
      }
      else
      {
         maintable.rows[1].className = 'colla';
         maintable.rows[0].className = 'shown';
      }
   }
//}}}

//{{{ selectCell(cellid,turn)
function selectCell(cellid,turn)
{
   turn = typeof(turn) != 'undefined' ? turn : 'inverse';
   var selected = document.getElementById(cellid).checked;
   if (selected==true & (turn=='off' || turn=='inverse'))
   { 
      //unselect
      document.getElementById(cellid+'_td').className = document.getElementById(cellid+'_td').className.replace('selected','');
      document.getElementById(cellid).checked=false;
   }
   else if (selected==false & (turn == 'on' || turn=='inverse')) 
   {
      //select
      document.getElementById(cellid+'_td').className = ' selected '+document.getElementById(cellid+'_td').className;
      document.getElementById(cellid).checked=true;
   }
}
//}}}

//{{{
function selectZoneType(tablename,type)
{
   var table=document.getElementById(tablename);
   var tds=table.getElementsByTagName('input');
   
   if (document.getElementById(type+'_all').checked==false)
   {
      var turn = 'on';
      document.getElementById(type+'_all').checked=true;
   }
   else
   {
      var turn = 'off';
      document.getElementById(type+'_all').checked=false;
   }
   for (var i = 0; i < tds.length; i++)
   {  
      var pattern=new RegExp(type+'_zone',"i");
      var classname = tds[i].className;
      if (pattern.test(classname))
      {
         selectCell(tds[i].id, turn);
      }
   }
}
//}}}

function toggleZoneChoice(choice_name)
{
   if(document.getElementById('radio_names').checked==false)
   {
      document.getElementById(choice_name).style.display='none';
      document.getElementById(choice_name+'_disabled').style.display='inline';
   }
   else
   {
      document.getElementById(choice_name).style.display='inline';
      document.getElementById(choice_name+'_disabled').style.display='none';
   }
}

function showInfoRow(tablename,colspan,afterwhat,info)
{
   var inforow=document.getElementById('info_row');
   if(inforow!=null)
   {
      var infoCellId=inforow.childNodes[0].id;
      document.getElementById(tablename).deleteRow(inforow.rowIndex);
   }
   
   if(infoCellId!=afterwhat+'_info')
   {
      var newRow=document.getElementById(tablename).insertRow(document.getElementById(afterwhat).parentNode.rowIndex+1);
      newRow.id='info_row';
      var newCell = newRow.insertCell(0); 
      newCell.id=afterwhat+'_info';
      newCell.colSpan=colspan; 
      newCell.innerHTML=info; 
      newCell.onclick='var inforow=document.getElementById(\'info_row\'); document.getElementById(\''+tablename+'\').deleteRow(inforow.rowIndex);';
   }
}

function roundWithDec(num, dec)
{
   var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
   return result;
}

//  chpaynaltype {{{
function chpaynaltype()
{
   b = document.getElementById('tp');
   if (b.options[b.selectedIndex].value == 2)
   {
      document.getElementById('psid').value = '';
      document.getElementById('psid').disabled = true;
   }
   else
   {
      document.getElementById('psid').disabled = false;
   }
}
//}}}


