var Sidemenu = function(param) {
	var menuid = param.menuid || "sub";
	var mainid = param.mainid || "main";
	var blockelement = param.blockelement || "div";
	var blockclass = param.blockclass || "sidemenublock";
	var linkelement = param.linkelement || "h3";
	var linkclass = param.linkclass || "sidemenulink";
	var newblockelement = param.newblockelement || "ul";
	var newblockclass = param.newblockclass || null;
	var newlinkelement = param.newlinkelement || "li";
	var newlinkclass = param.newlinkclass || null;
	
	var menu;
	if (menu = document.getElementById(menuid)) {
		var elements1 = menu.getElementsByTagName(blockelement);
		for (var i = 0; i < elements1.length; i++) {
			var classnames1 = elements1[i].className.split(" ");
			var a = 0;
			while (a < classnames1.length) {
				if (classnames1[a] == blockclass) {
					var block = document.createElement(newblockelement);
					if (newblockclass)
						block.className = newblockclass;
					var elements2 = elements1[i].getElementsByTagName(linkelement);	
					num = 1;
					for (var j = 0; j < elements2.length; j++) {
						var classnames2 = elements2[j].className.split(" ");
						var b = 0;
						while (b < classnames2.length) {
							if (classnames2[b] == linkclass) {
								var link = document.createElement(newlinkelement);
								if (newlinkclass)
									link.className = newlinkclass;
								var a = document.createElement("a");
								a.href = elements2[j].getAttribute("folder") + "#" + num; 
								a.appendChild(document.createTextNode(elements2[j].textContent || elements2[j].innerText));
								link.appendChild(a);
								block.appendChild(link);
								num++;
							}
							b++;
						}
					}
					elements1[i].parentNode.insertBefore(block,elements1[i]);
					elements1[i].style.display = "none";
				}
				a++;
			}
		}
	}
	var main;
	if (main = document.getElementById(mainid)) {
		var elements1 = main.getElementsByTagName(blockelement);
		for (var i = 0; i < elements1.length; i++) {
			var classnames1 = elements1[i].className.split(" ");
			var a = 0;
			while (a < classnames1.length) {
				if (classnames1[a] == blockclass) {
					var block = document.createElement(newblockelement);
					if (newblockclass)
						block.className = newblockclass;
					var elements2 = elements1[i].getElementsByTagName(linkelement);
					num = 1;
					for (var j = 0; j < elements2.length; j++) {
						var classnames2 = elements2[j].className.split(" ");
						var b = 0;
						while (b < classnames2.length) {
							if (classnames2[b] == linkclass) {
								elements2[j].setAttribute("id", num);
								num++;
							}
							b++;
						}
					}
					elements1[i].style.display = "block";
				}
				a++;
			}
		}
	}
}
