var depth = 0;
var map = new Array();
var _size = 20;

// Tree creation -------------------------------------------------------------------------------------

AddNode('root',		'n0',		"<a href='home.html'>Home (en)</a>",
					"<a href='home_s.html'>Home (sp)</a>");

AddNode('root',		'n1',		"<a href='url1e.html'>Item 1 (en)</a>",
					"<a href='url1e.html'>Item 1 (sp)</a>");
AddNode('root',		'n2',		"<a href='url2e.html'>Item 2 (en)</a>",
					"<a href='url2e.html'>Item 2 (sp)</a>");
AddNode('root',		'n3',		"<a href='url3e.html'>Item 3 (en)</a>",
					"<a href='url3e.html'>Item 3 (sp)</a>");

AddNode('n2',		'n2.1',		"<a href='url21e.html'>Item 2.1 (en)</a>",
					"<a href='url21e.html'>Item 2.1 (sp)</a>");
AddNode('n2',		'n2.2',		"<a href='url22e.html'>Item 2.2 (en)</a>",
					"<a href='url22e.html'>Item 2.2 (sp)</a>");

AddNode('n2.1',		'n2.1.1',	"<a href='url211e.html'>Item 2.1.1 (en)</a>",
					"<a href='url211e.html'>Item 2.1.1 (sp)</a>");
AddNode('n2.1',		'n2.1.2',	"<a href='url212e.html'>Item 2.1.2 (en)</a>",
					"<a href='url212e.html'>Item 2.1.2 (sp)</a>");
AddNode('n2.1.2',	'n2.1.2.1',	"<a href='url2121e.html'>Item 2.1.2.1 (en)</a>",
					"<a href='url2121e.html'>Item 2.1.2.1 (sp)</a>");
AddNode('n2.1.2.1',	'n2.1.2.1.1',	"<a href='url21211e.html'>Item 2.1.2.1.1 (en)</a>",
					"<a href='url21211e.html'>Item 2.1.2.1.1 (sp)</a>");

// ---------------------------------------------------------------------------------------------------

function _AddNode(pid, id, value_english, value_spanish, tree, _depth) {
	for (var i in tree) {
		if (tree[i][0] == pid) {
			tree[i][2][tree[i][2].length] = [id, [value_english, value_spanish], []];
		} else {
			_AddNode(pid, id, value_english, value_spanish, tree[i][2], _depth + 1);
		}
	}

	if (_depth > depth)
		depth = _depth;
}

function AddNode(pid, id, value_english, value_spanish) {
	if (pid == 'root')
		map[map.length] = [id, [value_english, value_spanish], []];
	else
		_AddNode(pid, id, value_english, value_spanish, map, 2);
}

function _GenerateTree(language, tree, prefix, depth) {
	if (tree.length < 1)
		return '';

	var str = '', prefix2 = "<td width=" + _size + "><img src=cross.png width=" + _size + " height=" + _size + "></td>", i;

	for (i = 0; i < tree.length - 1; i++) {
		str += "<tr height=" + _size + ">" + prefix + prefix2 + "<td class=SiteMap colspan=" + depth + ">&nbsp;" + tree[i][1][language] + "</td></tr>";
		str += _GenerateTree(language, tree[i][2], prefix + "<td width=" + _size + "><img src=vert.png width=" + _size + " height=" + _size + "></td>", depth - 1)
	}

	i = tree.length - 1;
	prefix2 = "<td width=" + _size + "><img src=corner.png width=" + _size + " height=" + _size + "></td>";
	str += "<tr height=" + _size + ">" + prefix + prefix2 + "<td class=SiteMap colspan=" + depth + ">&nbsp;" + tree[i][1][language] + "</td></tr>";
	str += _GenerateTree(language, tree[i][2], prefix + "<td width=" + _size + "></td>", depth - 1)

	return str;
}
function GenerateTree(language) {
	return '<table border=0 cellpadding=0 cellspacing=0 class=SiteMap>' + _GenerateTree((language == 'sp') ? 1 : 0, map, '', depth) + '</table>';
}