var doc_root = 'http://www10.showa-u.ac.jp/~hokubu';

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 {
				add_img_ov_out(img_list[ii]);
			}
		}
	}

	// トップページ　メニューのロールオーバー
	add_img_ov_out_for_array($('div#lmenu img'));

	// 第二階層　バナーリストのロールオーバー
	add_img_ov_out_for_array($('ul#cat_banner_list li img'));

	// 画像のロールオーバー
	add_img_ov_out_for_array($('img.img_ov'));

	// テーブルのハイライト
	$('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 {

		var menu_window = tmp.parent();

		// メニューを閉じる
		if(menu_window.attr('id') == 'menu_window_' + id) {

			hide_menu_window(menu_window);

		// メニューの内容を変更する
		}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);

	// メニューボタンにロールオーバのイベントを追加
	var menu_list = menu_window.find('ul#menu_all_list li img');
	add_img_ov_out_for_array(menu_list);

	// メニューウィンドウ要素を追加し、表示
	$('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);

	// メニューボタンにロールオーバのイベントを追加
	var menu_list = menu_window.find('ul#menu_all_list li img');
	add_img_ov_out_for_array(menu_list);

}


function hide_menu_window(target) {

	// メニューを閉じる
	target.hide('blind', { direction: 'horizontal' }, 500, function() { target.empty();
																		 target.remove(); });
}


/*
 *	画像のon、off
 */

function add_img_ov_out_for_array(img_ov_list) {
	var img_ov_preload = new Array();

	for(var ii=0;ii<img_ov_list.length;ii++) {
		add_img_ov_out(img_ov_list[ii]);
	}
}

function add_img_ov_out(img_obj) {

	// mouseover用画像のプリロード
	img_ov_preload = new Image();
	$(img_ov_preload).attr('src', get_img_src_ov($(img_obj).attr('src')));
	
	// opera対策
	$(img_obj).css('cursor', 'pointer');
	
	// mouseover、mouseoutイベントの設定
	$(img_obj).bind('mouseover', function() { img_ov($(this)) });
	$(img_obj).bind('mouseout', function() { img_out($(this)) });

}

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');
}