var category = "";

// カテゴリコンテンツ関連
var CLASS_CATEGORY1 = "category1";
var CLASS_CATEGORY2 = "category2";
var SELECTOR_CATEGORY1 = "#product_category_content ." + CLASS_CATEGORY1;
var SELECTOR_CATEGORY2 = "#product_category_content ." + CLASS_CATEGORY2;
var VISIBLE_ON = "visible_on";
var VISIBLE_OFF = "visible_off";
var IMG_PLUS = "/images/pulldown_plus.gif";
var IMG_MINUS = "/images/pulldown_minus.gif";
var ALT_PLUS = "+";
var ALT_MINUS = "-";
var COOKIE_NAME = "category_accordion";
var FLAG_NOT_SLIDE = "not accordion";

// アコーディオン開閉処理
function slide_controll(img_element, visible_to, flg_slide) {
	if (visible_to == VISIBLE_ON) {
			// オープン処理
			if (img_element.parent().parent("div").children("ul").size() > 0){
			  img_element.attr("src", IMG_MINUS).attr("alt", ALT_MINUS);
			}

			// スライドさせるかどうか
			if (flg_slide == FLAG_NOT_SLIDE){
				img_element.parent().parent("div").children("ul").css("display", "inline");
			}else{
				img_element.parent().parent("div").children("ul").slideDown();
			}
			img_element.parent().parent("div").children("ul")
					.removeClass(VISIBLE_OFF);
			img_element.parent().parent("div").children("ul").addClass(VISIBLE_ON);

			// オープンしたimg要素の名前をクッキーにセット
			$.cookie(COOKIE_NAME, img_element.attr("name"), {
				expires : 1,
				path : "/"
			});
	} else if (visible_to == VISIBLE_OFF) {
		if (img_element.parent().parent("div").children("ul").attr("class") == VISIBLE_ON) {
			// クローズ処理
			img_element.attr("src", IMG_PLUS).attr("alt", ALT_PLUS);

			// スライドさせるかどうか
			if (flg_slide == FLAG_NOT_SLIDE){
				img_element.parent().parent("div").children("ul").css("display", "none");
			}else{
				img_element.parent().parent("div").children("ul").slideUp();
			}
			img_element.parent().parent("div").children("ul").removeClass(VISIBLE_ON);
			img_element.parent().parent("div").children("ul").addClass(VISIBLE_OFF);

			// クローズしたimg要素の名前よりクッキー更新
			if (img_element.attr("class") == CLASS_CATEGORY1) {
				// 第1カテゴリ時は削除
				$.cookie(COOKIE_NAME, "", {
					expires : -1,
					path : "/"
				});
			} else if (img_element.attr("class") == CLASS_CATEGORY2) {
				// 第2カテゴリ時は親カテゴリをセット
				var name_array = img_element.attr("name").split("-");
				$.cookie(COOKIE_NAME, name_array[0], {
					expires : 1,
					path : "/"
				});
			}
		}
	}
}

$(function() {
	$(".ov").each(function(index) {
		var $this = $(this);
		if ($this.parent().attr("id") != category) {
			if (index > 0)
				$this.next().hide();
		}
	});

	$(".accordion").click(function() {
		var name = $(this).attr("name");
		var f = $.cookie(name);
		if (f == 0) {
			$.cookie(name, '1', {
				expires : 1,
				path : "/"
			});
		} else {
			$.cookie(name, '0', {
				expires : 1,
				path : "/"
			});
		}
		$("#tog > h3").each(function() {
			if (name == $(this).next().attr("id"))
				$(this).next().slideToggle('fast');
		});
		return false;
	});
	$(".accordion1").click(function() {
		var name = $(this).attr("name");
		var f = $.cookie(name);
		if (f == 0) {
			$.cookie(name, '1', {
				expires : 1,
				path : "/"
			});
		} else {
			$.cookie(name, '0', {
				expires : 1,
				path : "/"
			});
		}
		$("#portlet_content").each(function() {
			if (name == $(this).attr("id"))
				$(this).slideToggle('fast');
		});
		return false;
	});

	// 初期化
	$(SELECTOR_CATEGORY1).each(function() {
		// クッキーより初期表示
		var cookie = $.cookie(COOKIE_NAME);
		if (cookie != null) {
			var cookie_array = cookie.split("-");
			// 第1カテゴリ
			if (cookie_array.length >= 1) {
				var element = $(SELECTOR_CATEGORY1).filter(function() {
					return $(this).attr("name") == cookie_array[0];
				})
				slide_controll(element, VISIBLE_ON, FLAG_NOT_SLIDE);
			}
			// 第2カテゴリ
			if (cookie_array.length >= 2){
				var element = $(SELECTOR_CATEGORY2).filter(function () {
					 return $(this).attr("name") == cookie;
				 })
				 slide_controll(element, VISIBLE_ON, FLAG_NOT_SLIDE);
			}
		}
	});

	// 第1カテゴリクリック
	$(SELECTOR_CATEGORY1).click(function() {

		if ($(this).parent().parent("div").children("ul").size() == 0)
			return false;

		var class_bck = $(this).parent().parent("div").find("ul").attr("class");

		// 全カテゴリを一旦全部閉じる
		$(SELECTOR_CATEGORY1).each(function() {
			slide_controll($(this), VISIBLE_OFF, FLAG_NOT_SLIDE);

			$(this).parent().parent("div").find("." + CLASS_CATEGORY2).each(function() {
				slide_controll($(this), VISIBLE_OFF, FLAG_NOT_SLIDE);
			});
		});

		// 閉じていれば開く
		if (class_bck == VISIBLE_OFF)
			slide_controll($(this), VISIBLE_ON);

		return false;
	});

	// 第2カテゴリクリック
	$(SELECTOR_CATEGORY2).click(function() {

		if ($(this).parent().parent("div").children("ul").size() == 0)
			return false;

		var class_bck = $(this).parent().parent("div").find("ul").attr("class");

		// 第2カテゴリを一旦全部閉じる
		$(SELECTOR_CATEGORY2).each(function() {
			slide_controll($(this), VISIBLE_OFF, FLAG_NOT_SLIDE);
		});

		// 閉じていれば開く
		if (class_bck == VISIBLE_OFF)
			slide_controll($(this), VISIBLE_ON);

		return false;
	});

	// マウスポインタ
	$(SELECTOR_CATEGORY1, SELECTOR_CATEGORY2).hover(function() {
		$(this).css("cursor","pointer");
	},function(){
		$(this).css("cursor","default");
	});
});

function updateCategoryMenu(layer,categoryImgName) {
	var categoryImg = $("img[name="+categoryImgName+"]");
	if(layer == "1"){
		// 全カテゴリを一旦全部閉じる
		$(SELECTOR_CATEGORY1).each(function() {
			slide_controll(categoryImg, VISIBLE_OFF);

			categoryImg.parent().parent("div").find("." + CLASS_CATEGORY2).each(function() {
				slide_controll(categoryImg, VISIBLE_OFF);
			});
		});
		// 開く
		slide_controll(categoryImg, VISIBLE_ON);
	}else if(layer == "2" || layer == "3"){
		// 第2カテゴリを一旦全部閉じる
		$(SELECTOR_CATEGORY2).each(function() {
			slide_controll(categoryImg, VISIBLE_OFF);
		});
		var parentCategoryImgName = categoryImgName.split("-");
		if(parentCategoryImgName.length > 1){
    		slide_controll($("img[name="+parentCategoryImgName[0]+"]"), VISIBLE_ON);
		}
		// 開く
		slide_controll(categoryImg, VISIBLE_ON);
	}
};

function updateCategoryColor(categoryImgName) {
	var categoryImg = $("img[name="+categoryImgName+"]");
	categoryImg.parent().parent("div").parent("li").addClass("active");
}

function perfectAccordion(str) {
	var f = $.cookie(str);
	if (f == 1) {
		$("#" + str).hide();
	}
};

