	var aaTreeTab;
	var afTreeTopLevel;
	var aiTreeFrameBehaviour, aiTreeLinks;
	var fTreeIsContent,  fTreeIsIndex, fTreeShowTabs, fTreeFrameScroll,
	    fTreeIsTopLevel, fTreeIsIE, fTreeFirstIntro;
	var iTreeMDI, iTreeSML;
	var oTreeFrame, oTreeContentFrame;
	var sTreeOldCurrentTab, sTreeOldLastVisitTab, sTreeBgColor,
	    sTreeHeader, sTreeFooter;

	function vTreeInit( oTheTreeFrame, oTheControlledFrame, aaTheBranchsArray,
	                    sTheHeader,  sTheFooter, sTheBgColor,
	                    fShowTabs, sTabToChange, fInTheBeginNoLink ) {
	  oTreeFrame =      oTheTreeFrame;
	  oTreeContentFrame =              oTheControlledFrame;
	  aaTreeTab =                                           aaTheBranchsArray;
	  sTreeHeader =     sTheHeader;
	  sTreeFooter =                  sTheFooter;
	  sTreeBgColor =                             sTheBgColor;
	  fTreeShowTabs =   fShowTabs;
	 if( sTabToChange == null ) {
	     sTabToChange  = ''; // Ningún ítem (tab) seleccionado
	 }
	 afTreeTopLevel = new Array();
	 aiTreeFrameBehaviour = new Array( 1, 1 );
	 aiTreeLinks          = new Array( 1, 0 );
	 fTreeIsContent = true ;
	 fTreeIsIndex = false ;
//	 fTreeFrameScroll = false ;
	 fTreeFrameScroll = true ;
	 fTreeIsIE = navigator.appName.toLowerCase().indexOf( 'explorer' ) > -1;
	 fTreeFirstIntro = true ;
	 iTreeMDI = fTreeIsIE ? 1 : 0.7;
	 iTreeSML = fTreeIsIE ? 1 : 0.7;
	 sTreeOldCurrentTab = '';
	 sTreeOldLastVisitTab = '';
	 for( var i = 0;   i< aaTreeTab.length;   i++ ) {
	  fTreeIsTopLevel = ( aaTreeTab[ i ][ 0 ].split( '.' ).length == 1 );
	  afTreeTopLevel[ i ] = fTreeIsTopLevel;
	 }
	         vTreeDisplay( sTabToChange,               1, fInTheBeginNoLink,     0 );
	}
	function vTreeDisplay( sTabToChange, iFrameBehaviour, fInTheBeginNoLink, event ) {
	 var aiThisNumArray;
	 var iThisLevel;
	 var sThisTab;
	 var sTheHref, sTheTarget, sHTML, sWrite;
	 if( fTreeIsIndex  ) {
	  fTreeIsContent = true ;
	     fTreeIsIndex = false ;
	 }
	 if( sTabToChange == 'navIndex'   ) {
	  fTreeIsContent = false ;
	 }
	 if( sTabToChange == 'navContent' ) {
	  fTreeIsContent = true ;
	  fTreeIsIndex = false ;
	 }
	 if( event ) {
	  var fCtrlKeyDown = fTreeIsIE ? event.ctrlKey : ( event.modifiers == 2 );
	  if( iFrameBehaviour && fCtrlKeyDown ) {
	      iFrameBehaviour = 2;
	  }
	 }
	 var aiCurrentTab = sTabToChange.split( '.' );
	 var fAddScroll = fTreeFrameScroll;
	 var iCurrentLevel = aiCurrentTab.length - 1;
	 var iCurrentIndex = 1;
	 var iScrollY = 0;
	 for( var i = 0; i < aaTreeTab.length; i++ ) {
	  if( ( aaTreeTab[i][0] == sTabToChange ) ||
	      ( aaTreeTab[i][2] == sTabToChange && aaTreeTab[i][2] != '' ) ) {
	   iCurrentIndex = i;
	   sTabToChange = aaTreeTab[i][0];
	   aiCurrentTab = sTabToChange.split( '.' );
	   iCurrentLevel = aiCurrentTab.length - 1;
	   break ; //
	  }
	 }
	 if( iCurrentIndex < aaTreeTab.length - 1 ) {
	  iNextLevel =       aaTreeTab[ iCurrentIndex + 1 ][ 0 ].split( '.' ).length - 1;
	  fCurrentIsExpanded = ( iNextLevel > iCurrentLevel ) &&
	                          afTreeTopLevel[ iCurrentIndex + 1 ];
	 } else {
	  fCurrentIsExpanded = false ;
	 }
	 sTheHref   = fInTheBeginNoLink ? '' : aaTreeTab[iCurrentIndex][2];
	 sTheTarget =                          aaTreeTab[iCurrentIndex][3];
	 for( i = 1; i < aaTreeTab.length; i++ ) {
	  if( iFrameBehaviour ) {
	                    sThisTab = aaTreeTab[i][0];
	   aiThisNumArray = sThisTab.split( '.' );
	   iThisLevel = aiThisNumArray.length - 1;
	   fIsOnPath = true ;
	   if( iThisLevel > 0 ) {
	    for( j = 0; j < iThisLevel; j++ ) {
	     fIsOnPath = ( j > iCurrentLevel ) ?
	                  false :
	                  fIsOnPath && ( aiThisNumArray[ j ] == aiCurrentTab[ j ] );
	    }
	   }
	   afTreeTopLevel[ i ] = ( iFrameBehaviour == 1 ) ?
	    fIsOnPath :
	    ( fIsOnPath || afTreeTopLevel[ i ] );
	   if( sThisTab.indexOf( sTabToChange + '.' ) == 0 &&
	       iThisLevel > iCurrentLevel ) {
	    if( fCurrentIsExpanded ) {
	     afTreeTopLevel[ i ] = false ;
	    } else {
	     afTreeTopLevel[ i ] = ( iThisLevel == iCurrentLevel + 1 );
	    }
	   }
	  }
	 }
	 if( !fTreeIsContent && !fTreeIsIndex ) {
	                         fTreeIsIndex = true ;
	 }
	 if( fTreeIsContent ) {
	  sHTML  = '<html>\n\r';
	  sHTML += '<head></head>\n\r';
	  sHTML += '<style type="text/css">\n\r';
	  sHTML += '       SPAN.heading1 { font-family: Arial,Helvetica; font-weight: normal; font-size: 10pt; color: #000000; text-decoration: none }\n\r';
	  sHTML += '       SPAN.heading2 { font-family: Arial,Helvetica; font-weight: normal; font-size: 9pt; color: #000000; text-decoration: none }\n\r';
	  sHTML += '       SPAN.heading3 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r';
	  sHTML += '       SPAN.heading4 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r';
	  sHTML += '       SPAN.heading5 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r';
	  sHTML += '       SPAN.heading6 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #000000; text-decoration: none }\n\r\n\r';
	  sHTML += '       SPAN.hilight1 { font-family: Arial,Helvetica; font-weight: normal; font-size: 10pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '       SPAN.hilight2 { font-family: Arial,Helvetica; font-weight: normal; font-size: 9pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '       SPAN.hilight3 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '       SPAN.hilight4 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '       SPAN.hilight5 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '       SPAN.hilight6 { font-family: Arial,Helvetica; font-weight: normal; font-size: 8pt; color: #FFFFFF; background: #002682; text-decoration: none }\n\r';
	  sHTML += '</style>\n\r';
	  sHTML += '<BODY bgColor="' + sTreeBgColor + '">\n\r';
	  sHTML += sTreeHeader;
	  oTreeFrame.document.write( sHTML );
	 }
	 for( i = 0; i < aaTreeTab.length; i++ ) {
	  if( afTreeTopLevel[ i ] ) {
	   sThisTab = aaTreeTab[i][0];
	   aiThisNumArray = sThisTab.split( '.' );
	   iThisLevel = aiThisNumArray.length - 1;
	   fIsCurrent = ( i == iCurrentIndex );
	   if( i < aaTreeTab.length - 1 ) {
	    iNextLevel = aaTreeTab[ i + 1 ][ 0 ].split( '.' ).length - 1;
	    sImg = ( iThisLevel >= iNextLevel ) ? aaTreeTab[i][4] :
	              ( afTreeTopLevel[ i + 1 ] ? aaTreeTab[i][5] : aaTreeTab[i][4] );
	   } else {
	    sImg =                                aaTreeTab[i][4];
	   }
	   if( fTreeIsContent ) {
	    sThisTextClass = ( sThisTab == sTabToChange ) ? 'hilight' : 'heading';
	    if( fAddScroll ) {
	     iScrollY +=  ( ( iThisLevel < 2 )? iTreeMDI: iTreeSML ) * 25;
	    }
	    if( fIsCurrent ) {
	     fAddScroll = false ;
	    }
	    sWrite  = '<TABLE border=0 cellspacing=0 cellpadding=2>';
	    sWrite += '<TR><td width=' + ( ( iThisLevel + 1 ) * 20 ) + ' align=right valign=top>';
	    sWrite += '<a href="javaScript:history.go(0)" onMouseDown="parent.vTreeDisplay(\'' +
	              sThisTab + "'," + aiTreeFrameBehaviour[0] + ',' + aiTreeLinks[0] + ',event)">';
	    sWrite += '<img src="' + sImg + '" border=0></a>';
	    sWrite += '</td><td align=left>';
	    sWrite += '<a href="javaScript:history.go(0)" onMouseDown="parent.vTreeDisplay(\'' +
	              sThisTab + "'," + aiTreeFrameBehaviour[1] + ',' + aiTreeLinks[1] + ',event)">';
	    sWrite += '<span class="' + sThisTextClass + ( ( iThisLevel > 5 ) ? 6 : iThisLevel + 1 ) +
	              '">';
	    sWrite += ( fTreeShowTabs ? sThisTab + ' ': '' ) + aaTreeTab[i][1];
	    sWrite += '</span></a>';
	    oTreeFrame.document.write( sWrite );
	    oTreeFrame.document.writeln( '</td></TR></TABLE>' );
	   }
	  }
	 }
	 if( !fInTheBeginNoLink ) {
	  sTreeOldLastVisitTab = sTreeOldCurrentTab;
	                         sTreeOldCurrentTab = sTabToChange;
	 }
	 if( fTreeIsContent ) {
	  sHTML  = sTreeFooter;
	  sHTML += '</BODY>\n\r</HTML>\n\r';
	  oTreeFrame.document.write( sHTML );
	  oTreeFrame.document.close();
	  if( fTreeFrameScroll ) {
	   if( fTreeFirstIntro ) {
	       fTreeFirstIntro = false ;
	   } else {
	     oTreeFrame.scrollTo(0, iScrollY); // La 1ª vez no se ejecuta
	   }
	  }
	 }
	 if(                                 sTheHref ) {
	  if(      sTheTarget == 'top' ) {
	                 parent.location.href = sTheHref;
	  }
	  else if( sTheTarget == 'parent' ) {
	              parent.location.href = sTheHref;
	  }
	  else if( sTheTarget == 'blank' ) {
	                               open( sTheHref, '' );
	  } else {
	   oTreeContentFrame.location.href = sTheHref;
	  }
	 }
	}

