jQuery(function($){
	var header = $('#header');
	//ヘッダーエリア制御
	$.fn["rollover"] = function(){
			var parent = $(this).parent('a');
			$(this).hover(
				function(){
					if (!$(parent).hasClass('selected')) {
						$(this).attr('src',$(this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)(_o)?\.(gif|jpg|png)/g,'$1_o\.$3'));
					}
						flag = false;
				},
				function(){
					if (!$(parent).hasClass('selected')) {
						$(this).attr('src',$(this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1\.$2'));
					}
						flag = true;
				});
		}

	var imageMap = $('img.imgover');
	//画像の差し替え
	$(imageMap).each(function(){
		$(this).rollover();
	});
	$(document).ready(function(){
		$(imageMap).each(function(){
			$('<img />').attr('src',$(this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)\.(gif|jpg|png)/g,'$1_o\.$2'));
		});
	});
	
	var settings = $.extend({
		"mainID"   : "#navHeader",
		"duration" : 200
	});
	var flag = false;
	var pageCount = false;


	//l2ナビ表示
	$(settings.mainID+' > li > a',header).click(function(e){
		e.preventDefault();

		if (!$(this).hasClass('selected')) {

			//headerエリア確保
			$(header).animate({
				'height': '100px'
			},settings.duration);
			$(settings.mainID+',#header').css({
				'overflow': 'visible'
			});

			//カレント初期化
			//l2_nav
			var current_l2 = $(settings.mainID+' > li.current > a.selected',header);
			if ($(current_l2).html() != null) {
				$(current_l2).removeClass('selected')
									.children('img')
									.attr('src',
											$('img',current_l2)
											.attr('src')
											.replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1\.$2')
									);
				$(current_l2).parents('li').removeClass('current');
			}
			//l3_nav
			var current_l3 = ($(settings.mainID+' > li > ul.navCategory > li > a.selected',header));
			if ($(current_l3).html() != null) {
				$(current_l3).removeClass('selected')
									.children('img')
									.attr('src',
											$('img',current_l3)
											.attr('src')
											.replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1\.$2')
									);
				$('ul.sub',header).slideUp(settings.duration).addClass('hidden');
			}

			//クリックした画像を選択状態にして表示する
			if (!pageCount) {
				$(this).addClass('selected')
							.parents('li')
							.addClass('current')
							.children('ul')
							.slideDown(settings.duration)
							.removeClass('navCategoryHidden');
			pageCount = true;
			} else {
				$(this).addClass('selected')
							.parents('li')
							.addClass('current')
							.children('ul')
							.show()
							.removeClass('navCategoryHidden');
			}

			//l2ナビ非表示
			$(settings.mainID+' li:not(.current) ul',header).fadeOut(settings.duration).addClass('navCategoryHidden');

			//画像の差し替え
			var img = $(this).children('img');
			$(img).attr('src',$(img).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1_o.$2'));
		}
	});

	//l3ナビ表示制御
	$(settings.mainID+' > li.current > ul.navCategory > li:has(ul) > a',header).live('click',function(e){
		e.preventDefault();

		if (!$(this).hasClass('selected')) {
			//カレント初期化
			//l3_nav
			var current_l3 = ($(settings.mainID+' > li.current > ul.navCategory > li > a.selected',header));
			if ($(current_l3).html() != null) {
				$(current_l3).removeClass('selected')
									.children('img')
									.attr('src',
											$('img',current_l3)
											.attr('src')
											.replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1\.$2')
									);
				$('ul.sub',header).slideUp(settings.duration).addClass('hidden');
			}

			$(this).addClass('selected');
			if ($('img',this).attr('src').match(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g)) {
				$('img',this).attr('src',$('img',this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1_o.$2'));
			} else {
				$('img',this).attr('src',$('img',this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)\.(gif|jpg|png)/g,'$1_o.$2'));
			}
			$(this).parent('li').children('ul.sub').slideDown(settings.duration).removeClass('hidden');
			$('ul.navCategory',header).css({'overflow':'visible'});
		} else {
			$('img',this).attr('src',$('img',this).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1.$2'));
			$(this).parent('li').children('ul.sub').slideUp(settings.duration).addClass('hidden');
			$(this).removeClass('selected');
		}
		return false;
	});

	//タイムアウト
	var timerID;
	$('#header, ul sub').mouseout(function(){
		timerID = setTimeout(function(){
			$('ul.sub',header).slideUp(settings.duration).addClass('hidden');
			var temp = $(settings.mainID+' > li.current > ul.navCategory > li > a.selected',header);
			if ($(temp).html() != null) {
				$('img',temp).attr('src',$('img',temp).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1.$2'))
				$(temp).removeClass('selected');
			}
		},2000);
	});
	$(settings.mainID+', #header, ul sub').mouseover(function(){
		clearTimeout(timerID);
	});

	//エリア外クリック
	$('#firstWrapper, #container, body').click(function(){
			if (flag) {
				$('ul.sub',header).slideUp(settings.duration).addClass('hidden');
				var temp = $(settings.mainID+' > li.current > ul.navCategory > li > a.selected',header);
				if ($(temp).html() != null) {
					$('img',temp).attr('src',$('img',temp).attr('src').replace(/^([0-9a-zA-Z_\-\/\:\.]+)_o\.(gif|jpg|png)/g,'$1.$2'))
					$(temp).removeClass('selected');
				}
			}
	});

	$('#goPageTop > a').click(function(e){
		e.preventDefault();
		var hash = $(this.hash);
		var offsetH = $(hash).offset().top;
		$("html,body").animate({
			scrollTop: offsetH
		}, '200', 'easeOutQuart');
		return false;
	});
});//(jQuery)

