function GetNodeId()
{     
  var obj = document.fTree.node;
  
  for(var i=0; i<obj.length; i++)  
    if(obj[i].checked) return obj[i].value;
  if(obj.checked) return obj.value; // если всего 1 эл-т
  return 0;  // по умолчанию  
}

function NextPage(action)
{ 
  var id = GetNodeId();
  top.location.href(action + '&page_id=' + id);
}

function GetNodeIds()
{      
  var obj = document.fMap.node;  
  var res = ""; 
  
  for(var i=0; i<obj.length; i++)        
    if(obj[i].checked) 	
	  res += ((res!="")?"*":"") + obj[i].value; 
  if(res=="") if(obj.checked) res = obj.value;  // если всего 1 эл-т
  return res; 
}

function NewUser(action)
{       
  var ids = GetNodeIds();
  top.location.href(action + '&page_ids=' + ids); 
}

function GetUserIds()
{      
  var obj = document.fUsers.chbPage;  
  var res = "";    
  
  for(var i=0; i<obj.length; i++)        
    if(obj[i].checked) 	
	  res += ((res!="")?"*":"") + obj[i].value; 
  if(res=="") if(obj.checked) res = obj.value;  // если всего 1 эл-т
  return res; 
}

function SetSect(action)
{     
  var idu = GetUserIds();
  var ids = document.fUsers.hPages.value;
  top.location.href(action + '&hIdU=' + idu + '&hPages=' + ids); 
}

function GetViewVal()
{ 
  return "&headl=" + document.fPage.headl.value +
         "&text=" + document.fPage.text.value;
}

var idSuffixDoc = 0, idSuffixImg = 0;

function InitAttVar(idoc, iimg)
{  
  idSuffixDoc = idoc;
  idSuffixImg = iimg;
}

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 newTr = tr.parentNode.insertBefore(tr.cloneNode(true), tr.nextSibling);
	thisChilds = newTr.getElementsByTagName('td'); 
	thisChilds[0].innerHTML = InputDocEls();
	/*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 size="32" name="att" class="wideFile" type="file">';
	}*/
	checkForLast();
  }
}

function checkForLast() 
{ 
  btns = document.getElementsByName('drop');
  for(i = 0; i < btns.length; i++)
	btns[i].disabled = (btns.length == 1) ? true : false;
}

function dropImg(btn)
{ 
  if(document.getElementById) 
  {     
	tr = btn;
	while(tr.tagName != 'TABLE') tr = tr.parentNode;	
	tr.parentNode.removeChild(tr); 
	checkForLastImage(); 	
  }  
}

function addImage(btn) 
{ 
  if(document.getElementById) 
  {
	tr = btn;
	while(tr.tagName != 'TABLE') tr = tr.parentNode;	
	var newTr = tr.parentNode.insertBefore(tr.cloneNode(true), tr.nextSibling);
	thisChilds = newTr.getElementsByTagName('td');
    thisChilds[0].innerHTML = InputImgEls();	
	thisChilds[2].innerHTML = RadioAlign();  		
	/*for(var i = 0; i < thisChilds.length; i++) 
	{       
	  if(thisChilds[i].className == 'radio') alert("1");
	  if(thisChilds[i].className == 'header') thisChilds[i].innerHTML = '';
	  if(thisChilds[i].className == 'files'){ thisChilds[i].innerHTML = '<input size="32" name="att" class="wideFile" type="file">'; alert("1");}
	}*/
	checkForLastImage();
  }
}

function checkForLastImage() 
{
  btns = document.getElementsByName('dropImage');
  for(i = 0; i < btns.length; i++)
	btns[i].disabled = (btns.length == 1) ? true : false;
}

function RadioAlign() 
{  
  return "Выравнивание <input class=radio name=align"+idSuffixImg+" type=radio value=left checked> По левому краю" +
                      "<input class=radio name=align"+idSuffixImg+" type=radio value=center> По центру"+
                      "<input class=radio name=align"+idSuffixImg+" type=radio value=right> По правому краю";
}

function InputImgEls()
{   
  ++idSuffixImg;
  return "Текст для замещения<font color=red>*</font><br>" +
         "<input name=nameImg[] type=text value=''>" +
		 "<input type=file size=32 name=attImg[] onpropertychange='hImgName"+idSuffixImg+".value=this.value'>&nbsp;" +
		 "<input type=hidden name=hImgName"+idSuffixImg+" value=''>" +
		 "<input name=img_tag[] type=text size=7 value='[img_"+idSuffixImg+"]' readonly>";
}

function InputDocEls()
{ 
  ++idSuffixDoc;	
  return "Название документа<font color=red>*</font><br>" +
		 "<input name=nameDoc[] type=text value=''>" +
         "<input type=file size=32 name=attDoc[] onpropertychange='hDocName"+idSuffixDoc+".value=this.value'>&nbsp;" +
		 "<input type=hidden name=hDocName"+idSuffixDoc+" value=''>" +
		 "<input name=doc_tag[] type=text size=7 value='[doc_"+idSuffixDoc+"]' readonly>";
}

function TabSwitch(mode)  // переключатель форматирования текста
{    
 try 
 {   
//  alert("0");
  var obj_ed  = eval("window.frames[0].document.tbCE");
  var str_val = obj_ed.DocumentHTML;
//  alert(str_val);
//  var obj_ed = document.all.tags('iframe');
//  var obj_ed = window.top.document.getElementsByName("idTest")[0].contentWindow.document;
//  alert(window.top.document.getElementsByName("idTest")[0].contentDocument);
//  var obj_ed = eval("document.tbCE");      
//  var obj_ed = window.frames['test'];
//    var obj_ed = document.all['tbCE'];
//  var obj_ed = eval("document.tbCE");
//  var obj_ed = document.frames['test'];
//  var obj_ed = document.frames['test'].tbCE;
//  var obj_ed = eval("document.test.tbCE");
  
//  alert("1");
  var firstPos = str_val.indexOf("<BODY>")+6;          // позиции начала и конца
//  alert(obj_ed.DocumentHTML);

  var lastPos  = str_val.lastIndexOf("</BODY>");       // текстового блока
  
  if(lastPos==-1)                                      // если страницу не загрузили полностью 
  { 
//    alert("1");
     window.location.reload();
//      setTimeout("fPage.submit(); window.location.reload();",2000);
//      setTimeout("fPage.submit()", 1000);
//    fPage.submit(); 
//    location.reload();
//    alert("2");    
    return false;
  }
//    top.location = document.location;                  // загружаем её ещё раз
//  alert("3");
  var text     = str_val.substring(firstPos, lastPos); // получение содержимого wysiwyg 
//  alert(str_val);
  
//  alert("firstPos - "+firstPos+" lastPos - "+lastPos+"<br> "+text);
//  alert("mode - "+mode);
    
  if(mode == 1)
  {  
    //fPage.text.value = obj_ed.DocumentHTML; 
    obj_ed.designMode = false;
    divSimple.style.display = 'table-header-group'; 
	divFormat.style.display = 'none'; 
	return false;  
  }
  else if(mode == 2)
  {      
    divSimple.style.display = 'none'; 
	divFormat.style.display = 'table-header-group';    
	obj_ed.designMode = true;
//    obj_ed.DocumentHTML = "Hello";
//    alert("1 - "+obj_ed.DocumentHTML);
//    alert("first - "+obj_ed.DocumentHTML.substring(0, firstPos));
//    alert("center - "+fPage.text.value);
//    alert("last - "+obj_ed.DocumentHTML.substr(lastPos+7));
    obj_ed.DocumentHTML = obj_ed.DocumentHTML.substring(0, firstPos)+
                          fPage.text.value+obj_ed.DocumentHTML.substr(lastPos+7);	 
//    alert("2 - "+obj_ed.DocumentHTML);
	return false;
  }
  else if(mode == 3)
  {  
    divSimple.style.display = 'table-header-group'; 
	divFormat.style.display = 'none';   
    obj_ed.designMode = false;
    fPage.text.value = text;
	return false;    
  } 
 } 
 catch(e) 
 {  
//  setTimeout(500);
   alert("catch"); 
//  TabSwitch(mode);
 }  
}

function FormatVisible()
{  
//  alert("start visible");
  inpForm.style.display = 'table-header-group';
  inpSimple.style.display = 'table-header-group'; 
  TabSwitch(2);                        // добавление текста в окно редактора  
//  alert("stop visible");
}

function ChildDisable(idParent, flag)  // запрещает/разрешает доступ к поддереву 
{                                      // выбранного узла - idParent
  var node   = document.fMap.node;     // идентификаторы узлов
  var parent = document.fMap.parent;   // идентификаторы их предков
  
  for(var i=0; i<parent.length; i++)
    if(parent[i].value == idParent) 
    {  
      node[i].checked = false;
      node[i].disabled = flag;
      ChildDisable(node[i].value, flag);  
    }
}  

// баннеры
var img; //картинки
var ttl;
var txt;
var lnk;
var load = new Array();
var cnt = 0;
var crt0 = -1, crt1 = -1; // баннер, активный в данный момент

var speed = 10000;   //скорость слайдшоу в миллисекундах

var chck0 = null,  chck1 = null;
var timer0 = null, timer1 = null;

function LoadBann()
{
  cnt = Math.round(LoadBann.arguments.length/4);
  ttl = new Array(cnt);
  img = new Array(cnt);
  lnk = new Array(cnt);
  txt = new Array(cnt);

  ns=(document.layers);
  n6=(document.getElementById&&!document.all);
  ie=(document.all);

  for(i=0; i<cnt; i++)
    ttl[i] = LoadBann.arguments[i];

  for(i=cnt; i<2*cnt; i++)
  {
    img[i-cnt] = LoadBann.arguments[i];

    load[i-cnt] = new Image();
    load[i-cnt].src = img[i-cnt];
  }

  for(i = 2*cnt; i<3*cnt; i++)
    lnk[i-(2*cnt)] = LoadBann.arguments[i];

  for(i = 3*cnt; i<4*cnt; i++)
    txt[i-(3*cnt)] = LoadBann.arguments[i];
}

function Picnum(numb)
{
  var d=(ns||ie)?'document.':'document.getElementById("';
  var a=(ns||n6)?'':'all.';
  var n6r=(n6)?'")':'';
  var p=eval(d+a+'Nums'+numb+n6r);
  var x=eval(d+a+'Txt'+numb+n6r);

  /*if(ie||n6) // добавление текста
  {  
    p.innerHTML = ''+((numb==0)?ttl[crt0]:ttl[crt1]);
    x.innerHTML = ''+((numb==0)?txt[crt0]:txt[crt1]);
  } */
        
  if (ns)
  {
    p.document.write("<div style='position:absolute;top:0px;left:0px;font-family:Verdana;font-size:18px;color:#fffff0;text-align:center'>Picture "+count+"</div>");
    p.document.close();
  }
}

function Pause(numb)
{
  switch(numb)
  {
    case 0:
        chck0 = 1;
        clearTimeout(timer0);
        break;

    case 1:
        chck1 = 1;
        clearTimeout(timer1);
        break;
  } 
  
  Picnum(numb);
}

function AutoCycle(numb)
{
  var deadlock = 0;
  while(++deadlock < 1000)  // выбираем НОВУЮ картинку
  {
    new_crt = Math.floor(Math.random()*cnt);
    if((new_crt!=crt0) && (new_crt!=crt1)) break;
  }

  var p = eval('document.images.slides'+numb);
  p.src = img[new_crt];         

  switch(numb)
  {
    case 0: 
        document.all.anch0.href = lnk[new_crt];
        timer0 = setTimeout('AutoCycle('+numb+')', Math.floor(speed+Math.random()*speed));
        crt0   = new_crt;
        break;

    case 1: 
        document.all.anch1.href = lnk[new_crt];
        timer1 = setTimeout('AutoCycle('+numb+')', Math.floor(speed+Math.random()*speed));
        crt1   = new_crt;
        break;
  }

  Picnum(numb);
}

function Cycle(numb)
{
  switch(numb)
  {
    case 0:
        if(chck0 == 1) AutoCycle(numb);
        chck0 = null;
        break;

    case 1:
        if(chck1 == 1) AutoCycle(numb);
        chck1 = null;
        break;
  }
} 

function onFocusFind(text)
{  
  if(fFind.tFind.value == text) fFind.tFind.value = "";
}

function onBlurFind(text)
{ 
  if(fFind.tFind.value == "") fFind.tFind.value = text;
} 

// --------------------
var aOPSId = new Array(), aOPSAdr = new Array(), iLen = 0;

function initOPSIdArray(array)
{        
  iLen = arguments.length;
  for(var i=0; i<arguments.length; i++) 
    aOPSId[i+1] = arguments[i]; 
}

function initOPSAdrArray(array)
{  
  for(var i=0; i<arguments.length; i++) 
    aOPSAdr[i+1] = arguments[i];
}

function opsToAdress()
{ 
  var i = 0;  
  while(i++ < iLen)
    if(fRequest.idOPS.value==aOPSId[i])
    {  
      fRequest.tOPS.value = aOPSAdr[i];
      break;
    }  
}
// --------------------

function addNewImg(btn, id, img_path, alt, sort)
{  
//  if(document.getElementById)
//  {
	tr = btn; 
//	alert("1");
	while(tr.tagName != 'TABLE') tr = tr.parentNode;	
//	alert("2");
	var newTr = tr.parentNode.insertBefore(tr.cloneNode(true), tr.nextSibling); 
//	alert("3");
	thisChilds = newTr.getElementsByTagName('td');
    thisChilds[0].innerHTML = galleryImg(id, img_path, alt, sort);	
//  }
} 

function galleryImg(id, img_path, alt, sort)
{ 
  // строка удаления изображения
  var del_str  = 'javascript:if(confirm(\'Вы действительно хотите удалить изображение?\')) parent.location=\'?action=gallery&gallery=img_del&imageId='+id+'\'; else close();';
  // строка формы обновления примечания
  var upd_str  = 'method=post target=_blank action="?action=gallery&gallery=img_upd&imageId='+id+'" name=fUpd'+id;
  // строка для ввода сортировки
  var sort_str = 'onkeypress="keyFilter(event, \'[0-9]\')"';
  
  return '<table id=img_'+id+'><tr>'+
           '<td><input type=image src="'+img_path+'"></td>'+
           '<td><form '+upd_str+'>'+
             '<nobr><input name=tAlt value="'+alt+'">'+
             '<input size=1 maxlength=3 name=tSort value="'+sort+'" '+sort_str+'></nobr>'+
             '<div align=center><a href="javascript:fUpd'+id+'.submit();">Изменить</a></div></form></td>'+
           '<td><a target=_blank href="'+del_str+'">Удалить</a></td>'+
         '</tr></table>';
} 
 
function delImg(id)
{ 
  tr = document.getElementById('img_'+id);
  tr.parentNode.removeChild(tr);
} 

/*фильтр цифр*/
var isIE = (document.all) ? 1 : 0;

function keyFilter(e, strPattern)
{
   var chr = (isIE) ? e.keyCode : e.which;
   var ch = String.fromCharCode(chr);

   if (chr != 13 && chr != 8 && chr != 0)
   {
      var re = new RegExp(strPattern);

      if (ch.search(re) == -1)
      {
         if(isIE)
          e.returnValue = false;
         else
          e.preventDefault();
      }
   }
}

function checkField()
{  
  fRequest.send.disabled = (fRequest.name.value=="") || (fRequest.email.value=="");
}
