

   /********************************************************************
   *                                                                   *
   *             Fa hierarchia kezel? scriptgy?jtem?ny                 *
   *                                                                   *
   *    K?sz?lt: Szervezeti struktura megjelen?t?s?hez ?s interakt?v kezel?s?hez    *
   *                                                                   *
   ********************************************************************/

// **********************************************************************************
_cellWidth = 20; 
function MyE(_level, _ID, _name, _link, _empty)
{
	this.level = _level;
	this.ID = _ID;
	this.name = _name;
	this.link = _link
	this.childz = new Array();
	this.empty=_empty;

	this.addE = Element_addChild;
	this.getChildz = Element_getChildz;

} 
function Element_addChild(element)
{
	nextfree = this.childz.length;
	this.childz[nextfree] = element;
}
function Element_getChildz()
{
   return this.childz;
}
function elsoSzint(element, separator)
{   
   gyokerelem = element;
   _separatorString = separator;
   document.write('<table cellpadding=0 cellspacing=0>');
   document.write('<tr><td class="alap0"><div ID="' + element.ID + '"><span onClick="Kibont&#40&#34['+element.ID+
                  ']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'plusz.gif" class="hand"></span></div></td></tr>');
   document.write('</table>');
   Kibont(gyokerelem.ID);
} 

function Kibont(elemID)
{ 
   var _path = elemID.substring(1,elemID.length-1);
   var element = getElementByPath(gyokerelem, _path, _separatorString);
   var lastElement = isLastElement(element);
   if (lastElement) _fn = "utolso";
   else _fn = "berak";

   var l = element.childz.length;
   var _innerHTML='';
	if (_path=='0') 
		_innerHTML = '<table cellpadding=0 cellspacing=0>'+
                        '<tr><td width='+_cellWidth+'px></td><td width="20" valign="top"><span onClick="Bevon&#40&#34['+element.ID+']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'minusz.gif" class="hand"></span></td>'; 
	else
		_innerHTML = '<table cellpadding=0 cellspacing=0>'+
                        '<tr><td class = "'+_fn+'" width='+_cellWidth+'px></td><td width="20" valign="top"><span onClick="Bevon&#40&#34['+element.ID+']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'minusz.gif" class="hand"></span></td>';                         
  
   if (elemID==0 || elemID=='[0]')
      if (element.empty == "true"){
	  _innerHTML += '<td class="aktivroot">' + element.name;
      }else
      _innerHTML += '<td class="aktivroot"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>';
   else if(l > 0)
      if (element.empty == "true"){
	  _innerHTML += '<td class="aktiv">' + element.name;
      }else
      _innerHTML += '<td class="aktiv"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>';
   else
      _innerHTML += '<td class="aktiv"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>';
      
   _innerHTML += '</td>';
      
   if (!lastElement) _innerHTML += '<tr><td colspan="2" class="nyujtas"></td><td>'; 
   else _innerHTML += '<tr><td colspan="2"></td><td>'; 

   _innerHTML += '<table cellpadding=0 cellspacing=0>'; 
   
   gyerekek = element.getChildz();
         for (var i=0; i<l; i++)
         {           
            element = gyerekek[i];
            stilus = "inElement";
           if (isLastElement(element)) _fn = "utolso";
           else _fn = "berak";
            if (element.childz.length > 0){ 
               _innerHTML += '<tr><td height="10" class="nyujtas"></td><td></td><td></td></tr><tr><td><div ID="' + element.ID + '">'+
                                              '<table cellpadding=0 cellspacing=0>'+
                                             '<tr><td class="'+_fn+'" width='+_cellWidth+'px></td>'+
                                                '<td width="20" valign="top"><span onClick="Kibont&#40&#34[' + element.ID +
                                                  ']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'plusz.gif" class="hand"></span>'+                                             
		                                           '</td>';
              if (element.empty == "true"){
                 _innerHTML += '<td class="alap">' + element.name + '</td>';
		      }else{
				_innerHTML +='<td class="alap"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a></td>';
              }
		 
               _innerHTML +=                 '</tr>'+
                                         '</table>'+
                                    '</div></td></tr>';                                    
            }else
               _innerHTML += '<tr><td height="10" class="nyujtas"></td><td></td><td></td></tr><tr><td><div>'+
                                          '<table cellpadding=0 cellspacing=0>'+
                                              '<tr><td class="'+_fn+'" width='+_cellWidth+'px></td><td width="20" valign="top"><span><img src="'+'/sites/rendorseg/sm/'+'ures.gif" ></span></td>'+
                                                  '<td class="alap"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>'+
                                                  '</td>'+
                                              '</tr>'+
                                          '</table>'+                                                                    
                                    '</div></td></tr>';                     
         } 
   _innerHTML += '</table>';
   _innerHTML += '</td></tr></table>';
   _innerHTML += '</td>';
   document.getElementById(_path).innerHTML = _innerHTML;
   
} 
function Bevon(elemID)
{
   var _path = elemID.substring(1,elemID.length-1);
   var element = getElementByPath(gyokerelem, _path, _separatorString);
   var lastElement = isLastElement(element);
   if (lastElement) _fn = "utolso";
   else _fn = "berak";

    var _innerHTML = ''; 

	if (_path=='0') 
		_innerHTML = '<table cellpadding=0 cellspacing=0>'+
                        '<tr><td width='+_cellWidth+'px></td><td width="20" valign="top"><span onClick="Kibont&#40&#34['+element.ID+']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'plusz.gif" class="hand"></span></td>'; 
	else
		_innerHTML = '<table cellpadding=0 cellspacing=0>'+
                        '<tr><td class = "'+_fn+'" width='+_cellWidth+'px></td><td width="20" valign="top"><span onClick="Kibont&#40&#34['+element.ID+']&#34&#41"><img src="'+'/sites/rendorseg/sm/'+'plusz.gif" class="hand"></span></td>'; 

   var l = element.childz.length;

   if (elemID==0 || elemID=='[0]')
   _innerHTML += '<td class="alaproot">' + element.name;
   else if(l > 0)
   if (element.empty == "true"){
		_innerHTML += '<td class="alap">' + element.name;
      }else
      _innerHTML += '<td class="alap"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>';

   else      
   _innerHTML += '<td class="alap"><a href="#" onClick="javascript:window.open(\''+element.link+'\',\'orgwin\',\'width=517,height=400,scrollbars=1\');return false;">' + element.name + '</a>';
      
   _innerHTML += '</td>'; 
   _innerHTML += '</tr></table>'; 

   document.getElementById(_path).innerHTML = _innerHTML;
} 
function isLastElement(element)
{
   var _path = element.ID; 
   if (_path == "0") return true;
   var level = getLevelByPath(_path)+1; 
   var utolso = getXElement(_path, _separatorString, level); 
   var utolsohossz=1;
   if (utolso<10) utolsohossz=1; 
   else if (utolso<100) utolsohossz=2;
        else utolsohossz=3;
   var szamutolso = parseInt(utolso); 
   szamutolso ++;
   _path = _path.substring(0, _path.length - utolsohossz)+szamutolso; 
   var elem = getElementByPath(gyokerelem, _path, _separatorString); 
   return (elem==null); 
}
function getElementByPath(element, pathstring, separator)
{
   var s = Tail(pathstring, separator); 
   if (s.length==0) 
      return element; 
   var index = Head(s, separator); 
   var gyerekek = element.getChildz(); 
   if (index>gyerekek.length) return null; 
   var ptr = getElementByPath(gyerekek[index], s, separator);
   return ptr;
} 
function getLevelByPath(pathstring)
{
   var plen=pathstring.length;
   var level = -1; 
   
   while (plen>0)
   {
      pathstring = Tail(pathstring, _separatorString);
      plen=pathstring.length;      
      level++;
   }
   return level;
} 
function Head(pathstring, separator)
{
   var sepPos = pathstring.indexOf(separator); 
   if (sepPos<0) return pathstring; 
   var returnString = pathstring.substring(0,sepPos); 
   return returnString;
} 
function Tail(pathstring, separator)
{
   var sepPos = pathstring.indexOf(separator);
   if (sepPos<0) return "";
   var returnString = pathstring.substring(sepPos+1, pathstring.length);
   return returnString;
} 
function getXElement(pathstring, separator, x)
{
   var s = pathstring;
   for (var i=1; i<x; i++)
      s=Tail(s,separator);
   s= Head(s, separator);
   return s;
} 
