/*
 * 本体へのリンクを如何するか。
 * javascriptで書き換える必要がある？
 */
var Sidemenu = function(param) {
	var menuid = param.menuid || "sub";
	var mainid = param.bodyid || "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 = 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";
				//element.parentNode.removeChild(element);
			}
			a++;
		}
	}
	
	var 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++;
		}
	}

}


