var cookieName = "service_problem";
var openClass  = "open";
var closeClass = "close";

Event.observe(window, 'load', pageLoaded, false);



function pageLoaded() {	
	// 本文エリアを全て非表示
	$$('.innerCol').each( function(v){
		v.hide();
	});

	// サイトマップから遷移してきた（ハッシュが付加された）場合
	var hash = location.hash;
	if (hash != '') {
		var sliderId = hash.replace("#", "");
  	var menuId   = sliderId.replace("slider", "menu");

		// ハッシュ値が不正ではない場合
		if ($(menuId) != null) {
			$(menuId).show();
			$(sliderId).up(0).removeClassName(openClass);
			$(sliderId).up(0).addClassName(closeClass);

			var manager = new CookieManager({shelfLife:1}); // クッキーの有効期限：1時間
			var str = manager.getCookie(cookieName);
			var childNumber = sliderId.replace("slider", "");
	
			var cookieData = [];

			// クッキーがセットされている場合
			if (str != null && str.isJSON()) {
    		var arr = str.evalJSON(true);	
				arr.each( function(v){
					if (v != childNumber) {
						cookieData.push(v);
					}
				});
			}

			cookieData.push(childNumber);
  		manager.setCookie(cookieName, cookieData.toJSON());
		}

	// クッキーに保持された本文エリアを表示
	} else {
		var manager = new CookieManager({shelfLife:1});
		var str = manager.getCookie(cookieName);

		if (str != null && str.isJSON()) {
  	  var arr = str.evalJSON(true);
  	  arr.each( function(v){
			  var menuId   = "menu" + v;
			  var sliderId = "slider" + v;

				if ($(menuId) != null) {
				  $(menuId).show();
				  $(sliderId).up(0).removeClassName(openClass);
				  $(sliderId).up(0).addClassName(closeClass);
				}
		  });
		}
	}

	// クリック時 => itemClicked()
  Event.observe('slider', 'click', itemClicked, false);
}
	
function itemClicked(evt){
	var childId = Event.element(evt).id;

	// Q.●以外がクリックされた場合
	if (childId == "" || childId.match("menu")) {
		return;
	}

	var parentId    = $(childId).up(0);
	var menuId      = childId.replace("slider", "menu");
	var childNumber = childId.replace("slider", "");

	var manager = new CookieManager({shelfLife:1});
	var str = manager.getCookie(cookieName);
	
	// クッキーが空の場合
	if (str == null) {
		var cookieData = [childNumber];

	// クッキーがセットされている場合
	} else if (str.isJSON()) {
		var cookieData = [];
    var arr = str.evalJSON(true);
		arr.each( function(v){
			if (v != childNumber) {
				cookieData.push(v);
			}
		});

		// 開くボタンが押された場合
		if (parentId.classNames() == openClass) {
			cookieData.push(childNumber);
		}

	}
  manager.setCookie(cookieName, cookieData.toJSON());

	// 本文エリアの表示・非表示
	Effect.toggle(menuId, 'blind', {duration: 0.3});
	
	if (parentId.classNames() == openClass) {
		parentId.removeClassName(openClass);
		parentId.addClassName(closeClass);
	} else {
		parentId.removeClassName(closeClass);
		parentId.addClassName(openClass);
	}

}
