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)  // переключатель форматирования текста
{   
  var obj_ed = eval("document.tbCE");      
  
  var firstPos = obj_ed.DocumentHTML.indexOf("<BODY>")+6;     // позиции начала и конца
  var lastPos  = obj_ed.DocumentHTML.lastIndexOf("</BODY>");  // текстового блока
  var text     = obj_ed.DocumentHTML.substring(firstPos, lastPos);  
  
  if(mode == 1)
  {  
    //fPage.text.value = obj_ed.DocumentHTML;
    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.DocumentHTML = obj_ed.DocumentHTML.substring(0, firstPos)+
	                        fPage.text.value+
	                        obj_ed.DocumentHTML.substr(lastPos+7);
	return false;
  }
  else if(mode == 3)
  { 
    fPage.text.value = text;
    divSimple.style.display = 'table-header-group'; 
	divFormat.style.display = 'none'; 
	return false;    
  }
}

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);  
    }
    
    
}
