function opnl(idnl)
{
return true;
}

function chim(idim)
{
return true;
}

function opnmenu(nm)
{
var Y0=tm+(vertar[nm]-1)*dtm;
var dy=14;
var lr='l';
var nmanc=0;

if (nm.slice(0,1)=='l'){
    nm=nm.slice(1)*1;
}
else{
    nmanc=1;
    x=0;
	snes=0;
    for (j=0; j<nespar.length; j++)// 1
        if (nespar[j]==nm*1){
		    x=1;
			j0=j;
		}
		
	if (x==0){
	posX=0;	
 	X0=0;
	i0=-1;
    for (i=0; i<numtl; i++){
	    if (parlar[i]==nm*1)
		     i0=i;
	}
	
	posX=posX+lm;
	X0=posX;
	posX0=X0; 
	posY0=Y0;
//	}
	visar=new Array();
	visar[0]=nm;
	}
	else{
	    snes=neslev[j0];
		posX0=dlev;
		posY0=npos[nm-cnum]*dy;// retun to point//// (cnum)
		visar[snes]=nm;//[snes]
		if (snes<visar.length-1){
		    visar=visar.slice(0,snes);
		}

	}
   
}

var nid=lr+nm;

var lpid=lr+pid;
var nmi=nm*1;

if ((pid!=-1)&&(pid!=nmi)){
document.getElementById(lpid).style.visibility='hidden';
}

if (nmanc==1){
document.getElementById(nid).style.visibility='visible';
document.getElementById(nid).style.left=posX0+'px';
document.getElementById(nid).style.top=posY0+'px';
pid=nmi;
}
for (v=0; v<visar.length; v++){
    vnid=lr+visar[v];
	document.getElementById(vnid).style.visibility='visible';
}

posY0=0;
}

function op(nm)//***
{
var nct=0;
for (vv=0; vv<nespar.length; vv++)
    if (pid==nespar[vv]*1)
	    nct=1;
    if (nm==nespar[vv]*1)
	    nct=0;

if (pid!=-1){
lpid='l'+pid;
for(ff=0; ff<visar.length; ff++){
	lpid='l'+visar[ff];
document.getElementById(lpid).style.visibility='hidden';
}
}

//if ((visar.length>1)&&(nct==0))
//	visar=visar.slice(0,visar.length-1);
}

function clsmenu(nm)//***
{
if (nm.slice(0,1)=='l'){
vid=nm;
for(ff=0; ff<visar.length; ff++){
	vid='l'+visar[ff];
document.getElementById(vid).style.visibility='hidden';
}
}
}


function insert(start,value)//Вставка в масиив массива или  одного элемента
{ //Готово
var end=this.slice(start);
var end_length=end.length;
var beg=this.slice(0,start);
if ((value[0])||(value[0]==0)){
        mid=beg.concat(value);
        allarr=mid.concat(end);
		return allarr; 
}
else{
      this[start]=value;
      for (var count=start+1; count<start+end_length+1; count++)
      this[count]=end[count-start-1];
}
}
Array.prototype.insert=insert;


function paste()
{
var z0=-1;
var numlv=0;
pp=0;
ppp=0;
ppst='';
npart=document.form2.nme.value;
textpart=document.form2.report.value;
seli=num;

if(npart!=''){
if(textpart!=''){
pstlength=1;

if (seli==0){
z0=partnumchi.length;
pp=z0;
}
else	
z0=partnumchi[seli-1]*1; 

nlvpst=new Array();
for (p=0; p<partnumchi.length; p++){
	   if (pp>0){
	         z=partnumchi[p]*1;
			 if (ppp==0){//Место куда можно делать вставку
				   ppp=z;
				   numlv++; 
				   nlvpst[nlvpst.length]=p;//места с одинаковым уровнем
			 }
             else
			       if (ppp>0)
				   ppp--;
					
	         pp--;
	   }
	   			
	   if (p==seli-1)
    	     pp=z0;
}
//alert (seli);
seli=seli*1;
ppst=ppst*1;
//if (numlv<2){
//ppst='';
//document.form1.npl.value='';
//}
//else
//document.form1.npl.value='';
			   
//if (ppst=='')
      pst=seli;
//else{
//      if (ppst>numlv)
//	  ppst0=numlv-1;
//	  else{
//	        if (ppst==0)
//			      ppst0=0;
//			else
//	              ppst0=ppst-1;
//	   }
//	  
//      pst=nlvpst[ppst0];//место вставки
//}

for (p=0; p<partnumchi.length; p++){
      if (ppst==0)
      if ((p<pst)&&(pst<(p+partnumchi[p]*1+2)))
	        partnumchi[p]=partnumchi[p]*1+pstlength;//Корректировка количества подразделов в будущей структуре с учетом вставляемых(нисходящая)
}

var maxchp=partnumchi[seli-1]*1;
for (p=0; p<seli; p++){
      if (ppst>0){//Было
	        if ((partnumchi[p]*1+p)>=(maxchp+seli-1))
            partnumchi[p]=partnumchi[p]*1+pstlength;//Было вместо p -- seli-1 и только для одной точки - выделенной, а предыдущие во внимания не брались
			// хотя могли включать и выделенную в свое множество - отсюда и были ошибки(восходящая коректировка количества подразделов).
	  }
}
	  
      partid.insert(pst,0);
      partnumchi.insert(pst,0);  

//else{
//      if (copyname.length>0){
//            partname=partname.insert(pst,copyname);//Вставка в массивы
//            partid=partid.insert(pst,copyid);
//            partnumchi=partnumchi.insert(pst,copynumchi);
//	  }
//}

//copyname=new Array();
//copyid=new Array();
//copynumchi=new Array();
//mainprint();
//clk(part);

idar=partid.join('|');
chiar=partnumchi.join('|');
opnar=clkar.join('|');
document.form2.hid.value=idar;
document.form2.hch.value=chiar;
document.form2.opn.value=opnar;
//alert(idar);
}
else{
alert('Напишіть повідомлення');
return false;
}

}
else{
alert('Вкажіть Им\'я');
return false;
}

}

function clk(idclk)
{
chs=idclk.slice(0,1);
chnum=idclk.slice(1)*1;
rpr=0;
clkarln=clkar.length;
if (chs=='o'){
for (o=0; o<clkarln; o++)
    if (clkar[o]==chnum)
	     rpr=1;
if (rpr==0)		 
    clkar[clkarln]=chnum;
}
else
if (chs=='c'){
for (o=0; o<clkarln; o++)
    if (o==chnum)
	     clkar[o]='';
}

	clselP='o'+chnum;
	clselM='c'+chnum;
	clselLV='lv'+chnum;
if (chs=='o'){
	document.getElementById(clselP).style.visibility='hidden';
	document.getElementById(clselM).style.visibility='visible';
	document.getElementById(clselLV).style.visibility='visible';
	document.getElementById(clselLV).style.position='relative';		
}
else{
	document.getElementById(clselM).style.visibility='hidden';
	document.getElementById(clselP).style.visibility='visible';
	document.getElementById(clselLV).style.visibility='hidden';
	document.getElementById(clselLV).style.position='absolute';	
}
}


function cls()
{
partclsln=partcls.length;
for (c=0; c<partclsln; c++){
    clsel=partcls[c]*1;
	clselP='o'+clsel;
	clselM='c'+clsel;
	clselLV='lv'+clsel;
	document.getElementById(clselP).style.visibility='visible';
	document.getElementById(clselM).style.visibility='hidden';
	document.getElementById(clselLV).style.visibility='hidden';
	document.getElementById(clselLV).style.position='absolute';	
}
}