var doc_root = 'http://localhost/showa';

function init() {

	// 左サイトメニューのイベント（メニューウィンドウ表示）
	$('dl#lmenu_list dt img.menu_window_open').bind('click', function() { show_menu_window($(this)) });

	// 第二階層以降の左メニューのイベント
	var body_id = $('body').attr('id');
	var img_preload = new Array();
	
	if((body_id != '') && (body_id != 'top')) {
		
		
		var img_list = $('dl#cat_menu_list ul img');
		
		for(var ii=0;ii<img_list.length;ii++) {
		
			// mouseover時のsrcを取得
			var src_on = get_img_src_ov($(img_list[ii]).attr('src'));

			// 画像のsrcからidとなる部分を取得
			var src = $(img_list[ii]).attr('src');
			var src_array = src.split('/');
			var img_id = src_array[src_array.length - 1].substring(0, src_array[src_array.length - 1].lastIndexOf('.'));

			if(img_id == body_id) {

				$(img_list[ii]).attr('src', src_on);

			}else {

				// mouseover用画像のプリロード
				img_preload[ii] = new Image();
				$(img_preload[ii]).attr('src', src_on);

				// mouseover、mouseoutイベントの設定
				$(img_list[ii]).bind('mouseover', function() { img_ov($(this)) });
				$(img_list[ii]).bind('mouseout', function() { img_out($(this)) });
			}
		}
	}

	// 画像のロールオーバー
	var img_ov_list = $('img.img_ov');
	var img_ov_preload = new Array();

	for(var ii=0;ii<img_ov_list.length;ii++) {

		// mouseover用画像のプリロード
		img_ov_preload[ii] = new Image();
		$(img_preload[ii]).attr('src', get_img_src_ov($(img_ov_list[ii]).attr('src')));
		
		// opera対策
		$(img_ov_list[ii]).css('cursor', 'pointer');
		
		// mouseover、mouseoutイベントの設定
		$(img_ov_list[ii]).bind('mouseover', function() { img_ov($(this)) });
		$(img_ov_list[ii]).bind('mouseout', function() { img_out($(this)) });
	}

	// テーブルのハイライト
	$('table.highlight tr').bind('mouseover', function() { table_highlight($(this)) });
	$('table.highlight tr').bind('mouseout', function() { table_highlight($(this)) });
}


/*
 *	メニュー関連
 */

function show_menu_window(target) {

	// IDの決定
	var name = target.parent().attr('id');
	var split_array = name.split('_');
	var id = split_array[1];

	// メニューファイル読み込み成功時の処理を設定
	var tmp = $('body').find('div#menu_all');
	var func_success = null;

	// メニューウィンドウが表示されている場合
	if(tmp.length < 1) {

		// メニューファイルの読み込み（リクエストは同期させる）
		$.ajax({
			url: doc_root + '/include/menu_all_' + id + '.html',
			cache: false,
			async: false,
			success: function(data){
				create_menu_window(data, id);
			}
		});

	// メニューウィンドウが表示されている場合
	}else {

		// メニューファイルの読み込み（リクエストは同期させる）
		$.ajax({
			url: doc_root + '/include/menu_all_' + id + '.html',
			cache: false,
			async: false,
			success: function(data){
				mod_menu_window_data(data, id);
			}
		});
	}


}


function create_menu_window(data, id) {

	// メニューウィンドウの生成
	var menu_window = $('<div>').attr({ id: 'menu_window_' + id });
	menu_window.addClass('menu_window');

	// 閉じるボタンの生成
	var close = $('<img>').attr({ src: doc_root + '/img/menu_window_close.gif',
								  width: '22',
								  height: '22',
								  alt: 'メニューを閉じる'});
	close.bind('mouseover', function() { img_ov($(this)) });
	close.bind('mouseout', function() { img_out($(this)) });
	close.bind('click', function() { hide_menu_window(menu_window); });

	var p_close = $('<p>').attr({ id: 'menu_window_close' }).append(close);

	menu_window.append(p_close);
	menu_window.append(data);

	// メニューウィンドウ要素を追加し、表示
	$('div#container').append(menu_window);
	menu_window.show('blind', { direction: 'horizontal' }, 500);
}


function mod_menu_window_data(data, id) {

	var menu_window = $('div#menu_all').parent();

	// メニューウィンドウのIDを変更
	menu_window.attr('id', 'menu_window_' + id);

	// メニューウィンドウ内の要素を入れ替え
	$('div#menu_all').remove();
	menu_window.append(data);
}


function hide_menu_window(target) {

	// メニューを閉じる
	target.hide('blind', { direction: 'horizontal' }, 500, function() { target.empty();
																		 target.remove(); });
}


/*
 *	画像のon、off
 */

function img_ov(img_obj) {
	var src_ov = get_img_src_ov(img_obj.attr('src'));
	img_obj.attr('src', src_ov);
}

function img_out(img_obj) {
	var src_out = get_img_src_out(img_obj.attr('src'));
	img_obj.attr('src', src_out);
}

function get_img_src_ov(src) {
	var file_type = src.substring(src.lastIndexOf('.'), src.length);
	var src_ov = src.replace(file_type, '_ov' + file_type);
	
	return src_ov;
}

function get_img_src_out(src) {
	var file_type = src.substring(src.lastIndexOf('.'), src.length);
	var src_out = src.replace('_ov' + file_type, file_type);

	return src_out;
}


/*
 *	テーブルのハイライト
 */

function table_highlight(row) {
	row.toggleClass('on');
}


