function depthOfFolder(folder) {
    if (folder.length <= 2) {
	return 0; // empty folder
    }
    var max = 0;
    for (var i = 2; i < folder.length; ++i) {
	var curr = depthOfFolder(folder[i]);
	if (curr > max) {
	    max = curr;
	}
    }
    return max + 1;
}

function buildTextStyle1(folder, rowstart_text, extrarow_text) {
    var result = "" + rowstart_text;
    if (extrarow_text != "") {
       result += "[t] ";
    }
    result += "[" + folder[0] + "] " + folder[1] + "<br />";

    rowstart_text += extrarow_text;
    var nsub = folder.length - 2;
    for (var row = 0; row < nsub; ++row) {
	//var prefix = (row == 0 ? (nsub == 1 ? "o" : "t") : (row + 1 == nsub ? "l" : ""));
	var prefix = (row + 1 == nsub ? "l" : "");
	var type = folder[row + 2][0];
	
	if (type == "x") {
	    result += rowstart_text + "[" + prefix + "x] " + folder[row + 2][1] + "<br />";
	} else if (type == "f" && folder[row + 2].length <= 2) {
	    // empty
	    result += rowstart_text + "[" + prefix + "e] " + folder[row + 2][1] + "<br />";
	} else {
	    if (type != "f") { alert("type != f"); }
	    var subrowextra_text = (row + 1 == nsub ? "[ ] " : "[p] ");
	    result += buildTextStyle1(folder[row + 2], rowstart_text, subrowextra_text);
	}
    }
    return result;
}

function imagetag(which) {
    return "<td width=\"24\"><img border=\"0\" src=\"/jscript/lib/" + which + ".gif\"></td>";
}

function standardHTMLRow(rowstart, imgtype, text, depthleft) {
    return "<tr>" + rowstart + imagetag(imgtype) + "<td colspan=\"" + depthleft + "\">" + text + "</td></tr>\n";
}

function buildHTMLStyle1(folder, rowstart_html, extrarow_html, depthleft) {
    var result = "<tr>" + rowstart_html;
    if (extrarow_html == "<td></td>") {
	result += imagetag("l") + imagetag("te");
    } else if (extrarow_html == imagetag("p")) {
       result += imagetag("t") + imagetag("te");
    } else {
	if (folder[0] != "r") { alert("Thought " + folder[1] + " was the root, but apparently not"); }
	result += imagetag("r");
    }
    result += "<td width=\"100%\" colspan=\"" + depthleft + "\">" + folder[1] + "</td></tr>\n";

    rowstart_html += extrarow_html;
    var nsub = folder.length - 2;
    for (var row = 0; row < nsub; ++row) {
	var prefix = (row + 1 == nsub ? "l" : "");
	var type = folder[row + 2][0];
	
	if (type == "x") {
	    result += standardHTMLRow(rowstart_html, prefix + "x", folder[row + 2][1], depthleft);
	} else if (type == "f" && folder[row + 2].length <= 2) {
	    // empty
	    result += standardHTMLRow(rowstart_html, prefix + "e", folder[row + 2][1], depthleft);
	} else {
	    if (type != "f") { alert("type != f"); }
	    var subrowextra_html = (row + 1 == nsub ? "<td></td>" : imagetag("p"));
	    result += buildHTMLStyle1(folder[row + 2], rowstart_html, subrowextra_html, depthleft - 1);
	}
    }
    return result;
}
