/**
 * accordion.js 1.0 - http://dis.ne.jp
 *
 * (c) 2009 DOORS CORPORATION. and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
 
 /**
 * cookieが有効ではないブラウザには作用しません
 * select_arrayにカンマで区切り動作する要素の一つ前の要素名を追加
 * 
 * <span class="cate">aaa</span>	// 選択されるボタン このclass名を配列に追加
 * <ul class="catelist">			// スライド(block/none)されるリスト
 *   <li>aaa</li>
 *   <li>bbb</li>
 * </ul>
 */

/************設定項目***************/
var select_array	= new Array("cate1","cate2","cate3","cate4","cate5","cate6","cate7","cate8","cate9","cate10","cate11","cate12","cate13","cate14");	// tmplメニューのボタンにつけたclass名を追加
var slash_count		= 3;	// URL内の何個目のスラッシュの直後にあるディテクトリをデフォルト選択するか
var only_open		= 0;	// 値　0：別メニューを閉じない1：別メニューを閉じる
var slide_speed		= 300;	// ミリ秒指定(1000=1秒) 又は 遅←"slow", "normal", "fast"→早 (以前までは"fast")
var close_class		= "ListClose";
var open_class		= "ListOpen";
/***********************************/


var directorys = location.href.split("/");
current = directorys[slash_count];// ドメイン直後のディレクトリ

var ref_directorys = document.referrer.split("/");
ref_current = ref_directorys[slash_count];

$(document).ready(function() {
	// 保存Cookieの削除
	if(current!=ref_current || $(document.body).hasClass(close_class)){// 現在ディレクトリに変更があった or 閉じる用Classがある
	
		for(i=0;i<select_array.length;i++){
			if(cookieRead(select_array[i]) == "close"){
				continue;
			}
			cookieWrite(select_array[i],"", 0);
		}
		cookieWrite("directory",current,1);
	}

	for(i=0;i<select_array.length;i++){
		if(cookieRead(select_array[i]) != "open"){
			//close or 空
			if($("."+select_array[i]).hasClass(open_class)==false){
				
				//open_classが書いてない
				$("."+select_array[i]).next().css("display","none");
				
			}else if(cookieRead(select_array[i]) == "close"){
				
				//open_class 有り　＆＆　cookieがclose
				$("."+select_array[i]).next().css("display","none");
			}
		}
		$("."+select_array[i]).click(function(){
			saveCookie(this.className,$(this).next().css("display"),1);
		});
	}
});

/**
 * Cookie保存名,メニュー状態,Cookie保存期間
 */
function saveCookie(clsName,disp,day){
	clsName = clsName.split(" ")[0];
	if(only_open){
		for(i=0;i<select_array.length;i++){
			// click item
			if(select_array[i] == clsName){
				$("."+clsName).next().slideToggle(slide_speed);
				cookieWrite(clsName,disp=="none"?"open":"close",disp=="none"?day:day);
			// non click item
			}else{
				$("."+select_array[i]).next().slideUp(slide_speed);
				cookieWrite(select_array[i],"close",day);
			}
		}
	}else{
		$("."+clsName).next().slideToggle(slide_speed);
		cookieWrite(clsName,disp=="none"?"open":"close",disp=="none"?day:day);
	}
}

/**
 * Cookie読み書き
 */
function cookieWrite(key, data, limit){
	if( !navigator.cookieEnabled ){
		return;		//クッキー利用不可
	}
	day = new Date();
	day.setTime(day.getTime() + (limit * 1000 * 60 * 60 * 24));
	document.cookie = key + "=" + escape(data) + ";expires=" + day.toGMTString()+";path=/";
	
};
function cookieRead(key){
	if( !navigator.cookieEnabled || typeof(key) == "undefined"){
		return null;	//クッキー利用不可
	}
	key += "=";
	string = document.cookie + ";";				// クッキー情報を読み込む
	start = string.indexOf(key);				// キーワードを検索
	if (start != -1){							// キーワードと一致するものあり
		end = string.indexOf(";", start);		// 情報の末尾位置を検索
		return unescape(string.substring(start + key.length, end));  // データ取り出し
	}
	return null;
}