//$Id: scripts.js,v 1.16 2008/02/26 13:17:54 andy Exp $

// JavaScript Document

var DOM = (typeof(document.getElementById) != 'undefined');
var size_orig;

function presize()
{
   if (navigator.appVersion.indexOf("MSIE")!=-1)
   {
      m2=document.getElementById('block002');
      if(!m2) return;
      size_orig =  m2.clientWidth;
   }
}

function posfut()
{
   //Позиционирует футер в конце страницы
	m=document.getElementById('t-box');
        m.style.top = getDocumentHeight() + 25 + 'px';

   // Фиксит багу с размерами в IE
   if (navigator.appVersion.indexOf("MSIE")!=-1)
   {
      m2=document.getElementById('block002');
      m3=document.getElementById('all');
      m4=document.getElementById('header');
      m5=document.getElementById('block001');
      if(!m2) return;
      if(m2.clientWidth == size_orig) return;
      m3.style.width = m2.clientWidth + m5.clientWidth + 50 + 'px';
      m4.style.width = m3.style.width;
      m.style.width = m3.style.width 
      m=document.getElementById('t-box');
      m.style.top = getDocumentHeight() + 25 + 'px';
   }
}

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 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 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 = 1; i < thisCheckBoxes.length; i++) {
			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 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;
		}
	}
}

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;
	}
}

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;
	}
	
}

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)
{
   var o = document.getElementById(img_for_coords);
	var coords = getElementPosition(o);
	var layer = document.getElementById(obj);
   
	layer.style.left = (coords.left ) + 'px';
	layer.style.top = (coords.top ) + '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 hideSearch(obj)
{
	document.getElementById(obj).style.visibility = 'hidden';
   document.getElementById(obj).style.display = 'none';
}

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';
}


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;
          }
   }
}

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';
   }
}

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';
}

function chooseNsReg(type_ns_active,type_ns_deactive){
   text1 = document.getElementById('ns1_before_form');
   text2 = document.getElementById('ns2_before_form');
   text3 = document.getElementById('ns_after_form');
   if(document.getElementById(type_ns_active).checked == true) {
      if(type_ns_active == 'ns_reg12') {
         text1.innerHTML = 'ns1.r01.ru';
         text2.innerHTML = 'ns2.r01.ru';
         text3.innerHTML = '&nbsp;';
         document.dom_properties.elements["form_dnssec"].disabled=true;         

      } else if (type_ns_active == 'ns_reg2') {
         text1.innerHTML = '&nbsp;';
         text2.innerHTML = '&nbsp;';
         text3.innerHTML = 'ns2.r01.ru';
         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;';
      document.dom_properties.elements["form_dnssec"].disabled=false;
   }
}

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();
}


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();
}



function hideHint(targetElement)
{
   document.getElementById(targetElement).innerHTML='';
}
function showHint(targetElement, hintText)
{
   hideHint(targetElement);
   document.getElementById(targetElement).innerHTML='<p>'+hintText+'</p>';
}