;(function($){
	var namespace = "createSummary";
	$.fn[namespace] = function(config) {
		var config = $.extend({
			where:'#summary'
		}, config);
		var target = this;
		$(config.where).append('<ul></ul>');
		var ul = '<ul style="margin-left:2em;"></ul>';
		var h = $(target).find('h1, h2, h3, h4, h5, h6');
		function getN(ele)
		{
			ele.nodeName.match(/(\d)/i);
			return RegExp.$1;
		}
		
		$.each(h, function(i, v)
		{
			var n = getN(v);
			var t = 'h'+n+'-'+i;
			var li = '<li>' + '<a href="#' + t + '">' + $(v).text() + '</a>' + '</li>';
			//console.log(li);
			
			$(v).append('<a name="' + t + '"></a>');
			
			if(i <= 0){
				//alert("hoge");
				$(config.where + " ul:last").append(li);
			}
			else{
				// calc depth;
				var p_n = getN(h[i-1]); // prev n
				//console.log( i + ': n = ' + n + ', p_n = ' + p_n);
				
				if(n < p_n){ // h3 < h4
					$(config.where + " ul:last").parents('ul:last').append(li);
				}
				else if(n > p_n){ // h4 > h3
					$(config.where + " li:last").append(ul);
					$(config.where + " ul:last").append(li);
				}
				else{ // h3 = h3
					$(config.where + " li:last").after(li);
				}
			}
		});
	};
})(jQuery);

