var g_currentNode = "";
var g_currentExpanded = false;
function reDisplay(currentNumber,currentIsExpanded) {
	if( currentNumber != g_currentNode || g_currentExpanded != currentIsExpanded ){
		g_currentNode = currentNumber;
		g_currentExpanded = currentIsExpanded;
		toc.document.open();
		toc.document.write("<html>\n<head>\n" );
		toc.document.write("<meta http-equiv='Content-Language' content='he'>\n" );
		toc.document.write("<meta http-equiv='Content-Type' content='text/html; charset=windows-1255'>\n" );
		if( treeStyleSheet != "" )
			toc.document.write( "<link rel='stylesheet' type='text/css' href='" + treeStyleSheet + "'>" );
		if( titleText != "" )
			toc.document.write( "<title>" + titleText + "</title>\n" );
		toc.document.write( "</head>\n<body>\n<table border=0 cellspacing=1 cellpadding=0>\n<tr>");
		var currentNumArray = currentNumber.split(".");
		var currentLevel = currentNumArray.length-1;
		var scrollY=0, addScroll=true, theHref="";
		window.status = "Working - please wait...";
		for (i=0; i<tocTab.length; i++){
			thisNumber = tocTab[i][0];
			var isCurrentNumber = (thisNumber == currentNumber);
			if( isCurrentNumber ) 
				theHref= tocTab[i][2];
			var thisNumArray = thisNumber.split(".");
			var thisLevel = thisNumArray.length-1;
			var toDisplay = true;
			if (thisLevel > 0) {
				for (j=0; j<thisLevel; j++) {
					toDisplay = (j>currentLevel)?false:toDisplay && (thisNumArray[j] == currentNumArray[j]);
				}
			}
			thisIsExpanded = toDisplay && (thisNumArray[thisLevel] == currentNumArray[thisLevel])
			if (currentIsExpanded) {
				toDisplay = toDisplay && (thisLevel<=currentLevel);
				if (isCurrentNumber) 
					thisIsExpanded = false;
			}
			if (toDisplay) {
				if (i==0) {
					toc.document.writeln("\n<td colspan=" + (nCols+1) + "><a href=\"javaScript:parent.reDisplay('1.1.3.1.1',false);\">" + titleText + "</a></td></tr>");
					for (k=0; k<nCols; k++){
						toc.document.write("<td>&nbsp;</td>");
					}
					toc.document.write("<td width=240>&nbsp;</td></tr>");
				}else {
					if (addScroll) 
						scrollY+= 25; // node.FontSize;
					if (isCurrentNumber) 
						addScroll=false;
					var isLeaf = (i==tocTab.length-1) || (thisLevel >= tocTab[i+1][0].split(".").length-1);
					img = (isLeaf)?"leaf":(thisIsExpanded)?"minus":"plus";
					toc.document.writeln("<tr>");
					for (k=1; k<=thisLevel; k++) {
						toc.document.writeln("<td>&nbsp;</td>");
					}
					var sLink = "<td align=right valign=center><a href=\"javaScript:parent.reDisplay('" + thisNumber + "'," + thisIsExpanded + ");";
					sLink += "\"><img src='" + img + ".gif' border=0></a></td>"
					sLink += "<td colspan=" + (nCols-thisLevel) + "><a href=\"";
					var styleClass = isLeaf ? "Leaf" : "Node";
					if( isCurrentNumber )
						styleClass = "selected" + styleClass;
					sLink += "javaScript:\parent.reDisplay('" + thisNumber + "'," + thisIsExpanded + ")\"";
					sLink += "class='" + styleClass + "'>";
					sLink += showNumbers ? (thisNumber +" ") : ""; 
					sLink += tocTab[i][1] + "</a></td></tr>";
					toc.document.writeln( sLink  );
				}
			}
		}
		toc.document.writeln("</table>\n</body>");
		toc.document.close();
		// always scroll the maximum right we can
		toc.scroll(99999,scrollY);
		window.status = "Done.";
		if (theHref != "" ) {
			var alreadyLoaded = content.location.href.indexOf(theHref);
			if( alreadyLoaded == -1 )
				content.location.href = theHref;
		}
	}
}
