var timer;

$.selectAll = {
	init: function() {
		$(".selectAll")
			.bind("click", this.checked);
	},
	checked: function() {
		var obj = $(this);
		if (obj.attr("checked")) {
			$(".selectAll").parents(".inBlock").find("input").attr("checked", true);
		}
		else $(".selectAll").parents(".inBlock").find("input").attr("checked", false);
	}
};

$.tipsIcon = {
	init: function() {
		$(".hoverBox .icon a").bind("click", this.click);
	},
	click: function() {
		var obj = $(this);
		obj.prevAll().find("span:visible").removeClass("visible");
		obj.nextAll().find("span:visible").removeClass("visible");
		obj.find("span").toggleClass("visible");
		obj.find("span:first").css("left", ((obj.find("span:first").width() / 2) - 19) * -1);
		return false;
	}
};

$.showBox = {
	init: function() {
		$("#show_01, #show_02, #show_03, #show_04, #show_05, #show_06, #show_07, #show_08, #show_09, #show_10, #show_11, #show_12, #show_13, #show_14, #show_15, #show_16, #show_17, #show_18, #show_19, #show_20").bind("mouseover", this.show).bind("mouseout", this.hide);
		$("#box_01, #box_02, #box_03, #box_04, #box_05, #box_06, #box_07, #box_08, #box_09, #box_10, #box_11, #box_12, #box_13, #box_14, #box_15, #box_16, #box_17, #box_18, #box_19, #box_20").bind("mouseover", this.show).bind("mouseout", this.hide);
		$("#box_01, #box_02, #box_03, #box_04, #box_05, #box_06, #box_07, #box_08, #box_09, #box_10, #box_11, #box_12, #box_13, #box_14, #box_15, #box_16, #box_17, #box_18, #box_19, #box_20").find(".close").bind("click", this.close);
		//ie6 fix
		/*if (ie6) {
			var iframe = $("iframe#bugfix");
			$("#container").append(iframe);
			iframe.css("position","absolute");
		}*/
	},
	show: function() {
		var box = $("#box_" + this.id.split("_")[1]);
		var obj = $("#show_" + this.id.split("_")[1]);
		var image = obj.offset().top + obj.height() - 2;
		var doc = $(document).scrollTop();
		var win = $(window).height();
		var para = box.find(".para").val().split(",");
		var img = box.find(".image");
		var anchor = img.parent();
		var iconCell = box.find("td.iconCell").eq(0);
		var imageNum = iconCell.find("img").length;
		$("#box_01, #box_02, #box_03, #box_04, #box_05, #box_06, #box_07, #box_08, #box_09, #box_10, #box_11, #box_12, #box_13, #box_14, #box_15, #box_16, #box_17, #box_18, #box_19, #box_20").hide();
		clearTimeout(timer);
		iconCell.css("width", imageNum * 44);
		img.attr("src", para[0]).attr("width", para[1]).attr("height", para[2]).attr("alt", para[3]);
		anchor.attr("href", para[4])
		$("#show_01, #show_02, #show_03, #show_04, #show_05, #show_06, #show_07, #show_08, #show_09, #show_10, #show_11, #show_12, #show_13, #show_14, #show_15, #show_16, #show_17, #show_18, #show_19, #show_20").css("border", "none").css("border-right", "1px solid #e0e0e0").css("padding", "12px");
		obj.css("border", "1px solid #000").css("padding", "11px 13px 11px 12px");
		$("#bugfix").width(box.width() + 8).height(box.height() + 8);
		box.add("#bugfix").show();
		box.add("#bugfix").css("top", (image - box.height() / 2) + "px").css("left", (obj.offset().left - box.width() - 5) + "px");
		if (box.offset().top < doc) box.add("#bugfix").css("top", doc + "px");
		if ((box.offset().top + box.height()) > (doc + win)) box.add("#bugfix").css("top", (doc + win - box.height() - 8) + "px");
		//ie6 fix
		/*if (ie6) {
			var iframe = $("iframe#bugfix");
			var iframeStyles = {
				top: box.offset().top,
				left: box.offset().left,
				width: box.outerWidth(),
				height: box.outerHeight()
			}
			iframe.css(iframeStyles);
			iframe.show();
		}*/
	},
	hide: function() {
		var box = $("#box_" + this.id.split("_")[1]);
		var obj = $("#show_" + this.id.split("_")[1]);
		timer = setTimeout(function() {
			obj.css("border", "none").css("border-right", "1px solid #e0e0e0").css("padding", "12px");
			box.add("#bugfix").find(".icon span:visible").removeClass("visible")
			box.add("#bugfix").hide();
		}, 100);
		//ie6 fix
		//if (ie6) $("iframe#bugfix").hide();
	},
	close: function() {
		var box = $(".hoverBox");
		$("#show_01, #show_02, #show_03, #show_04, #show_05, #show_06, #show_07, #show_08, #show_09, #show_10, #show_11, #show_12, #show_13, #show_14, #show_15, #show_16, #show_17, #show_18, #show_19, #show_20").css("border", "none").css("border-right", "1px solid #e0e0e0").css("padding", "12px");
		box.add("#bugfix").hide();
		return false;
	}
};

$.closeForm = {
	init: function() {
		$(".headingBlock-search .button").bind("click", this.click);
		$(".headingBlock-search.close .button").html("開く");
	},
	click: function() {
		var obj = $(this).parents(".headingBlock-search");
		obj.toggleClass("close");
		obj.not(".close").find(".button").html("閉じる");
		obj.filter(".close").find(".button").html("開く");
		return false;
	}
};


$.synchronizeForm = {
	init: function() {
		$("input[type='text']").bind("change", this.changeText);
		$("input[type='radio']").bind("click", this.changeRadio).bind("change", this.changeRadio);
		$("input[type='checkbox']").bind("click", this.changeCheckbox).bind("change", this.changeCheckbox);
		$("select").bind("change", this.changeSelect);
	},
	changeText: function() {
		var obj = $(this);
		var name = obj.attr("name");
		$("input[type='text'][name='" + name + "']").val(obj.val());
	},
	changeRadio: function() {
		var obj = $(this);
		var name = obj.attr("name");
		var value = obj.val();
		var flag = obj.attr("checked");
		$("input[type='radio'][name='" + name + "'][value='" + value + "']").attr("checked", flag);

		if (obj.attr("class") == "selectSch") {
			var obj1 = $(this).parents(".headingBlock-search");
			if ($("#sch_01",obj1).attr("checked")) {
				$("#f11",obj1).css("display", "block");
				$("#f12",obj1).css("display", "none");
			}
			else {
				$("#f11",obj1).css("display", "none");
				$("#f12",obj1).css("display", "block");
			}
		}
	},
	changeCheckbox: function() {
		var obj = $(this);
		var name = obj.attr("name");
		var flag = obj.attr("checked");
		if (obj.attr("class") != "selectAll") $("input[type='checkbox'][class='selectAll']").attr("checked", false);
		$("input[type='checkbox'][name='" + name + "'][value='" + obj.val() + "']").attr("checked", flag);
	},
	changeSelect: function() {
		var obj = $(this);
		var name = obj.attr("name");
		var index = obj.attr("selectedIndex");
		$("select[name='" + name + "']").attr("selectedIndex", index);
	}
};


$.loadData = {
	load: function(){
		flagClear = false;
		$("select[name='ctgry']").change();
		//set timeout for ie6
		setTimeout(function() { 
			if(cur_srs){
				var srsObj = $("select[name='srs']");
				srsObj.find("option[value="+cur_srs +"]").attr("selected", true);
				srsObj.change();
			}
			setTimeout(function() { 
				if(cur_typ){
					$("select[name='typ']").find("option[value="+cur_typ +"]").attr("selected", true);
				}
			}, 1);
		}, 1);
		flagClear = true;
		// ±検索　検索％セット
		if(cur_siz){
			$("select[name='sch_siz']").find("option[value="+cur_siz +"]").attr("selected", true);
		}
		else {
			$("select[name='sch_siz']").find("option[value='10']").attr("selected", true);
		}
		if(cur_dmn){
			$("select[name='sch_dmnsn']").find("option[value="+cur_dmn +"]").attr("selected", true);
		}
		else {
			$("select[name='sch_dmnsn']").find("option[value='10']").attr("selected", true);
		}

	}
};
$.changeForm = {
	init: function() {
		$("select[name='ctgry']").bind("change", this.changeCtgry).bind("change", this.flagCtgry);
		$("select[name='srs']").bind("change", this.changeSrs);
	},
	changeCtgry: function() {
		var obj = $(this);
		var temp = "<option value=\"\">&gt;製品シリーズを選択してください</option>";
		var nonOpt = "<option value=\"\"> - </option>";
		var srsObj = $("select[name='srs']");

		var len = 0;
		if(ctgry[obj.val()]){
			len = ctgry[obj.val()].split(",").length;
			if (len == 1){ temp = "<option value=\"" + ctgry[obj.val()].split(",")[0].split("|")[1] + "\" selected >" + ctgry[obj.val()].split(",")[0].split("|")[0] + "</option>"; }
			else{
				for (var i = 0; i < len; i++) {
					temp += "<option value=\"" + ctgry[obj.val()].split(",")[i].split("|")[1] + "\">" + ctgry[obj.val()].split(",")[i].split("|")[0] + "</option>";
				}
			}
			srsObj.html(temp).attr("disabled", false);
		}
		else{
			srsObj.html(nonOpt).attr("disabled", true);
		}
		srsObj.change();
		if(flagClear){
			$(".tableSet-search.flag label:contains('指定しない') input").attr("checked", true);
			$(".tableSet-search.flag input[type='checkbox']").attr("checked", false);
		}
	},
	changeSrs: function() {
		var obj = $(this);
		var temp = "<option value=\"\">&gt;製品タイプを選択してください</option>";
		var nonOpt = "<option value=\"\"> - </option>";
		var typObj = $("select[name='typ']");

		var len = 0;
		if(srs[obj.val()]){
			len = srs[obj.val()].split(",").length;
			if (len == 1){ temp = "<option value=\"" + srs[obj.val()].split(",")[0].split("|")[1] + "\" selected >" + srs[obj.val()].split(",")[0].split("|")[0] + "</option>"; }
			else{
				for (var i = 0; i < len; i++) {
					temp += "<option value=\"" + srs[obj.val()].split(",")[i].split("|")[1] + "\">" + srs[obj.val()].split(",")[i].split("|")[0] + "</option>";
				}
			}
			typObj.html(temp).attr("disabled", false);
		}
		else{
			typObj.html(nonOpt).attr("disabled", true);
		}
	},
	flagCtgry: function() {
		var obj = $(this);
		var targetDiv1 = $("#f1");
		var targetDiv2 = $("#f2");
		var targetAryTr1 = targetDiv1.find("tr");
		var targetAryTr2 = targetDiv2.find("tr");

		var ctgryTxt = "";
		if(obj.val() != ""){ ctgryTxt = "(" + obj.find("option").eq(obj.attr("selectedIndex")).html() + ")"; }
		targetDiv1.find("h3.heading").eq(0).html("詳細条件で絞り込み" + ctgryTxt+ "");
		targetDiv2.find("h3.heading").eq(0).html("詳細条件で絞り込み" + ctgryTxt+ "");
		
		var len = targetAryTr1.length;
		var n = 0;
		if(flag[obj.val()]){ n = parseInt(flag[obj.val()]); }

		if (n == 0) {
			targetDiv1.hide();
			targetDiv2.hide();
		}
		else {
			targetDiv1.show();
			targetDiv2.show(); 
			if(top_flag_auto_close_flg == "1"){ 
				targetDiv1.addClass("close");
			}
			if(bottom_flag_auto_close_flg == "1"){
				targetDiv2.addClass("close");
			}
			for (var i = 0; i < len; i++) {
				if (n & (1 << i)) {
					targetAryTr1.eq(i).removeClass("close");
					targetAryTr2.eq(i).removeClass("close"); 
				}
				else {
					targetAryTr1.eq(i).addClass("close");
					targetAryTr2.eq(i).addClass("close");
				}
			}
		}
	}
}

$(document).ready(function() {
	$.closeForm.init();
	$.selectAll.init();
	$.tipsIcon.init();
	$.showBox.init();
	$.changeForm.init();	
	$.synchronizeForm.init();	
});

var flagClear=true; //詳細条件エリアのクリア処理flg
$(window).load(function(){
	$.loadData.load();
}
)