/*
 * 検索フォーム Send
 */
function changeConditions(row_num, sc) {
	var queryString = setParam(row_num, sc);
	location.href = '/products/all/?'+queryString;
	return false;
}

function setParam(row_num, sc) {
	var conditions = new Array();
	var conditionKeys = new Array('gender','type','style','subcategory','technology','others','techtype','colortype');
	var queryString = '';
	$("input:checkbox, input:hidden", "#filterFrm").each(function(i){
		switch (this.type) {
			case 'checkbox':
				if (this.checked) {
				    if (conditions[this.name] == undefined) {
					conditions[this.name] = new Array();
				    }
				    conditions[this.name].push(this.value);
				}
				break;
			case 'hidden':
				switch (this.name) {
					case 'row_num':
						if (row_num == undefined) { 
							row_num = this.value;
						}
						break;
					case 'sc':
						if (sc != 0) { 
							sc = this.value;
						}
						break;
				}
			break;
	    }
	});

    $.each(conditionKeys,function(i){
	    if (conditions[this] != undefined) {
			queryString += this + '=' + conditions[this].join(':') + '&';
	    }
    });

	if (row_num) {
		queryString += 'row_num='+row_num;
	}
	if (sc) {
		if(queryString) {
			queryString += '&';
		}
		queryString += 'sc=' + sc;
	}
	return queryString;
}

/*
 * 検索結果件数取得
 */
var startNum;
var endNum;
var changeNumID;
var displayNum = '#search_container div.search_condition_container div.choices_box03 div.result_box span';
var count;
var xhrobj;
function getSearchResultNumber() {
		var queryString = setParam();
		clearTimeout(changeNumID);
		if (xhrobj) {
			xhrobj.abort();
		}
		xhrobj = $.ajax({
			url: '/products/all/getNumber.php?' + queryString,
			cache: true,
			success: function(resultNum){
				startNum = parseInt($(displayNum).text());
				if (!startNum) {
					startNum = 0;
				}
				endNum = parseInt(resultNum);
				if (!endNum) {
					endNum = 0;
				}
				if (startNum != null && startNum > -1 && endNum != null && endNum > -1 && (startNum != endNum)) {
					changeNumber();
				}
			},
			error: function(){
				return;
			}
		});
}

/*
 * 絞込件数変更
 */
function changeNumber() {
	if (Math.abs(startNum - endNum) < 10) {
		count = 1;
	} else {
		count = Math.abs(Math.floor((startNum - endNum)/2));
	}
//	console.log("startNum=" + startNum + ", endNum=" + endNum);
	changeNumID = setTimeout ("changeNumber()",5);
	if (startNum == endNum) {
		clearTimeout(changeNumID);
	} else if (startNum < endNum) {
		startNum = startNum + count;
	} else if (startNum > endNum) {
		startNum = startNum - count;
	}
	$(displayNum).html(startNum + '');
}

/*
 * 結果件数変更
 */
function changeResultAmount(row_num) {
	var param;
	var urlpath = location.pathname;
	if (location.search && location.search.indexOf('row_num')>-1) {
		if (location.search.match(/row_num=[0-9]{1,2}/)) {
			param = location.search.replace(/row_num=[0-9]{1,2}/, 'row_num=' + row_num);
		} else {
			param = location.search.replace(/row_num=/, 'row_num=' + row_num);
		}
	} else if (location.search) {
		param = location.search + '&row_num=' + row_num;
	} else {
		param = '?row_num=' + row_num;
	}
	param = param.replace(/&p=[0-9]{1,2}/, '');
	param = param.replace(/p=[0-9]{1,2}/, '');
	location.href = urlpath + param;
}


/*
 * 検索インターフェース チェックボックス
 */
// 親IDから子を指定
var checkBoxList = {
	'all_gender':'checkbox_gender',
	'all_techtype':'checkbox_techtype',
	'all_colortype':'checkbox_colortype'
};
// 子から親IDを指定
var checkBoxList2 = {
	'checkbox_gender':'all_gender',
	'checkbox_techtype':'all_techtype',
	'checkbox_colortype':'all_colortype'
};
// 親IDから子を指定
var checkBoxList3 = {
	'pcat_0':'checkbox_running',
	'pcat_1':'checkbox_fitness',
	'pcat_2':'checkbox_outdoor',
	'pcat_3':'checkbox_sports',
	'pcat_4':'checkbox_walking',
	'pcat_5':'checkbox_lifestyle',
	'pcat_6':'checkbox_kids'
};
// 子から親IDを指定
var checkBoxList4 = {
	'checkbox_running':'pcat_0',
	'checkbox_fitness':'pcat_1',
	'checkbox_outdoor':'pcat_2',
	'checkbox_sports':'pcat_3',
	'checkbox_walking':'pcat_4',
	'checkbox_lifestyle':'pcat_5',
	'checkbox_kids':'pcat_6'
};
// セレクタ文字列生成
var paramSelector = '';
var subparamSelector = '';
for (index in checkBoxList) {
	paramSelector += '#' + index + ',';
	subparamSelector += '#' + checkBoxList[index] + ' input:checkbox,';
}
paramSelector = paramSelector.substring(0, paramSelector.length-1);
subparamSelector = subparamSelector.substring(0, subparamSelector.length-1);
var categorySelector = '';
var subcategorySelector = '';
for (index in checkBoxList3) {
	categorySelector += '#' + index + ',';
	subcategorySelector += '#' + checkBoxList3[index] + ' input:checkbox,';
}
categorySelector = categorySelector.substring(0, categorySelector.length-1);
subcategorySelector = subcategorySelector.substring(0, subcategorySelector.length-1);

$(function() {
	/*
	 * 検索チェックボックス
	 */
	$('#all_category').click(function () {
		$('#checkbox_category input:checkbox').attr('checked', this.checked);
		getSearchResultNumber();
	})
	$(paramSelector).click(function () {
		$('#' + checkBoxList[this.id] + ' input:checkbox').attr('checked', this.checked);
		getSearchResultNumber();
	})
	$(categorySelector).click(function () {
		$('#' + checkBoxList3[this.id] + ' input:checkbox').attr('checked', this.checked);
		getSearchResultNumber();
	})
	$(subparamSelector).click(function () {
		var paramId = '#' + checkBoxList2[$(this).parent().parent().get(0).id];
		$(paramId).attr('checked',false);
		var thisSubDivId = '#' + $(this).parent().parent().get(0).id;
		if ($(thisSubDivId + " input:checkbox").length == $(thisSubDivId + " input:checkbox:checked").length) {
			$(paramId).attr('checked',true);
		}
		getSearchResultNumber();
	})
	$(categorySelector + ',#pcat_7').click(function () {
		var all_checked = true;
		for (index in checkBoxList3) {
			if (!$('#' + index).attr('checked')) all_checked = false;
		}
		if (!$('#pcat_7').attr('checked')) all_checked = false;
		if (all_checked) {
			$('#all_category').attr('checked',true);
		} else {
			$('#all_category').attr('checked',false);
		}
		getSearchResultNumber();
	})
	$(subcategorySelector).click(function () {
		var paramId = '#' + checkBoxList4[$(this).parent().get(0).id];
		if ($(paramId).attr('checked')) $(paramId).attr('checked',false);
		var thisSubDivId = '#' + $(this).parent().get(0).id;
		if ($(thisSubDivId + " input:checkbox").length == $(thisSubDivId + " input:checkbox:checked").length) $(paramId).attr('checked',true);
		var all_checked = true;
		for (index in checkBoxList3) {
			if (!$('#' + index).attr('checked')) all_checked = false;
		}
		if (!$('#pcat_7').attr('checked')) all_checked = false;
		if (all_checked) {
			$('#all_category').attr('checked',true);
		} else {
			$('#all_category').attr('checked',false);
		}
		getSearchResultNumber();
	})
	$('#oth_0,#oth_1,#oth_2,#oth_3,#oth_4').click(function () {
		getSearchResultNumber();
	})
	
	/*
	 * 検索結果hover
	 */
	MM_preloadImages($('div.search_result_products ul li a span img.more').get(0).src.replace('.gif', '_o.gif'));
	$('div.search_result_products ul li a').hover(
		function () {
			$(this).toggleClass('hover');
			$('span img.more', this).get(0).src = $('span img.more', this).get(0).src.replace('.gif', '_o.gif');
		},
		function () {
			$(this).toggleClass('hover');
			$('span img.more', this).get(0).src = $('span img.more', this).get(0).src.replace('_o.gif', '.gif');
		}
	);
	
	/*
	 * 検索インターフェース開閉
	 */
	$('.search_open_btn a').click(function () {
		$(this).toggleClass('close');
		$(".search_condition_container").slideToggle("fast");
	});
	/*
	 * 検索インターフェース 特性CSS
	 */
	if (navigator.userAgent.indexOf("Mac")!= -1) {
		$('div.choices_box01 dl.characteristic', '#search_container').removeClass('characteristic').addClass('characteristic_mac');
	}
});



