var book = {

	indexes: null,

	get: function(path) {
		$.get(path, function(data) {
//			data = data.match(/<body[\s\S]*?>([\s\S]+)<\/body>/)[1];
			data = data.match(/<h1[\s\S]+\/div>/);
			$('div#main').html('<p class="topicPath"></p>' + data);
		})	
	},

	index: function(path, elm) {

		var indexes = this.indexes;

		if(!/\/$/.test(path)) path += '/';

		var a = indexes.index(path);

//		var r = '<dl class="navi">';
		var r = '';

		for(var i = 0; i < a.length; i++) {
			
			var func = indexes.isDir(a[i]) ? 'book.index2' : 'book.get';
			r += '<dt><a href="#" onclick="' + func + '(\'' + path + a[i] + '\', this); return false;">' + UnescapeAutoDetect(indexes.getFileName(a[i])) + '</a></dt><dd style="display: none;"></dd>';

		}

		elm.html(r/* + '</dl>'*/);
	},

	index2: function(path, elm) {

		var indexes = this.indexes;

		if(!/\/$/.test(path)) path += '/';

// 同期にしちゃうとIEでクリックイベントが起きちゃう（SlideDown後、Upされる）
//		var a = indexes.index(path);
		indexes.index(path, function(a) {

		var r = '<ul>';

		for(var i = 0; i < a.length; i++) {
			
			var func = indexes.isDir(a[i]) ? 'book.index3' : 'book.get';
			r += '<li><a href="#" onclick="' + func + '(\'' + path + a[i] + '\', this); return false;">' + UnescapeAutoDetect(indexes.getFileName(a[i])) + '</a></li>';

		}

		$(elm).parent().next().html(r + '</ul>')
			.slideDown('fast')
			.prev().children('a').removeAttr('onclick')
			.click(function() { 
				$(this).parent().next().slideToggle();
				return false;
			});
			
		});

	},
	
	index3: function(path, elm) {

		var indexes = this.indexes;

		if(!/\/$/.test(path)) path += '/';

//		var a = indexes.index(path);
		indexes.index(path, function(a) {

		var r = '<ul>';

		for(var i = 0; i < a.length; i++) {
			
			var func = indexes.isDir(a[i]) ? 'book.index3' : 'book.get';
			r += '<li><a href="#" onclick="' + func + '(\'' + path + a[i] + '\', this); return false;">' + UnescapeAutoDetect(indexes.getFileName(a[i])) + '</a></li>';

		}

		$(elm).after(r + '</ul>')
			.next().slideDown('fast')
			.end().removeAttr('onclick')
			.click(function() { 
				$(this).next().slideToggle();
				return false;
			});
			
		});
		
	}
};
