/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

 Author : http://www.metaphase.co.jp/
 created: 2009/12/28
	update : 2010/02/16

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/


var one_switch = false;
var menuHrefReg;

$(document).ready(function() {

	$(".accordionNavi dd").css("display","none");

	var getA =  $(".accordionNavi dd a");

	var urlReg = "^.+?://.+?(/.+)$";
	var tempUrlVal = new RegExp(urlReg);

	var checkURL = document.URL.match( tempUrlVal )[1];

	var nowOpenA = null;

	var menuListAll = $(".accordionNavi img");
	var tempMenuHrefReg = "^(.+)_(off|on)(.+)$";
	menuHrefReg = new RegExp(tempMenuHrefReg);


	for (var i=0; i<getA.length; i++) {
		if(getA[i].pathname == checkURL || "/" + getA[i].pathname == checkURL){
			nowOpenA = $(".accordionNavi dd a").eq(i);
			break;
		}
	}

	if(nowOpenA != null){

		var tmpHTML = nowOpenA[0].innerHTML;
		var tmpClass = nowOpenA.parent()[0].className;
		
		if(typeof tmpClass != 'undefined'){
			if( tmpClass.indexOf("_") != -1 ){
				nowOpenA.parent().addClass("current");
				$("."+tmpClass.split("_")[0]).addClass("preOpen");
				$("."+tmpClass.split("_")[1]).addClass("preOpen");
				nowOpenA.parent()[0].innerHTML = tmpHTML;
				
				for (var i=0; i<menuListAll.length; i++) {
					var menuSrc = menuListAll[i].src.match( menuHrefReg );
					if(menuListAll[i].name == tmpClass.split("_")[0]){
						menuListAll[i].src = menuSrc[1] + "_off" + menuSrc[3];
					} else {
						menuListAll[i].src = menuSrc[1] + "_on" + menuSrc[3];
					}
				}
				
			} else if(tmpClass != "") {
				nowOpenA.parent().addClass("current");
				$("."+tmpClass).addClass("preOpen");
				nowOpenA.parent()[0].innerHTML = tmpHTML;
				
				for (var i=0; i<menuListAll.length; i++) {
					var menuSrc = menuListAll[i].src.match( menuHrefReg );
					if(menuListAll[i].name == tmpClass.split("_")[0]){
						menuListAll[i].src = menuSrc[1] + "_off" + menuSrc[3];
					} else {
						menuListAll[i].src = menuSrc[1] + "_on" + menuSrc[3];
					}
				}
				
			}
		}
	}


	$(".accordionNavi dd.preOpen").css("display","block");
	$(".accordionNavi dd.preOpen").prev().addClass("accordionOpen");

	$(".accordionNavi dt a").click(function(){
		var elm;
		var elm_up;
		if(this.parentNode.nodeName=="DT") {
			elm    = $(this).parent();
		} else if(this.parentNode.parentNode.nodeName=="DT") {
			elm    = $(this).parent().parent();
		}

		if(one_switch){
			var i, menuNodes = elm.parent().children("dd");

			for(i=0;i<menuNodes.length;i++){
				if(menuNodes[i] == elm.next()[0]){
					menuNodes.splice(i, 1);
				}
			}

			menuNodes.slideUp("fast",
				function(){
					if(this.style.display=="block"){
						$(this).prev().addClass("accordionOpen");
					}else{
						$(this).prev().removeClass("accordionOpen");
						$(this).removeClass("preOpen");
					}
				}
			);
		}


		var imgElm = $(this).children("img")[0];
		if(typeof imgElm != 'undefined'){
			var menuSrc = imgElm.src.match( menuHrefReg );
			
			if(elm.next()[0].style.display=="block"){
				imgElm.src = menuSrc[1] + "_off" + menuSrc[3];
			} else {
				imgElm.src = menuSrc[1] + "_on" + menuSrc[3];
			}
		}

		elm.next().slideToggle("fast",
			function(){
				if(this.style.display=="block"){
					$(this).prev().addClass("accordionOpen");
				}else{
					$(this).prev().removeClass("accordionOpen");
					$(this).removeClass("preOpen");
				}
			}
		);

	return false;
	});

	$(".accordionNaviCtrl").click(function(){menuListCtrl($(".accordionNaviTarget"));});



});


function menuListCtrl( target_obj ){
	
	var elm;
	var elm_up;
	if(target_obj[0].parentNode.nodeName=="DT") {
		elm    = target_obj.parent();
	} else if(target_obj[0].parentNode.parentNode.nodeName=="DT") {
		elm    = target_obj.parent().parent();
	} else {
		return false;
	}

	var parentsMenuElm = elm.parents("dl.accordionNavi dd").prev();
	if(parentsMenuElm.length == 1){
		var parentObj = parentsMenuElm.children("a");
	
		var imgElm = parentObj.children("img")[0];
		if(typeof imgElm != 'undefined'){
			var menuSrc = imgElm.src.match( menuHrefReg );
			imgElm.src = menuSrc[1] + "_on" + menuSrc[3];
		}

		parentsMenuElm.next().slideDown("fast",
			function(){
				if(parentObj[0].style.display=="block"){
					parentObj.prev().addClass("accordionOpen");
				}else{
					parentObj.prev().removeClass("accordionOpen");
					parentObj.removeClass("preOpen");
				}
			}
		);
	}

	var imgElm = target_obj.children("img")[0];
	if(typeof imgElm != 'undefined'){
		var menuSrc = imgElm.src.match( menuHrefReg );
		imgElm.src = menuSrc[1] + "_on" + menuSrc[3];
	}

	elm.next().slideDown("fast",
		function(){
			if(target_obj[0].style.display=="block"){
				target_obj.prev().addClass("accordionOpen");
			}else{
				target_obj.prev().removeClass("accordionOpen");
				target_obj.removeClass("preOpen");
			}
		}
	);


	
	return false;
}
