/**
* catalogue.js
* (C) Copyright 2009, all rights reserved by DosTigres Corp.
* Ver. 0.0.1, 01-Aug-2007
**/

/**
* カタログページ用スクリプト
* @class catalogue
* @namespace appjs
**/
if (typeof appjs == "undefined") {
    var appjs = {};
}

appjs.catalogue = {
	/***************/
	/** constatns **/
	/***************/
	/**
	* Version
	*/
	version:'0.0.1',
	
	/*************/
	/** Methods **/
	/*************/
	/**
	* initialize
	*/
	init: function(sortVal, condPriceVal, condPrice2Val, condArrangedTie) {
		// 検索条件の価格帯プルダウンの初期化
		this.initControlVal("Where_price", condPriceVal);
		this.initControlVal("Where_price2", condPrice2Val);
		this.initControlVal("Where_arrangedTie", condArrangedTie);
		
		// ソートラベルの初期化
		this.initSortLabels(sortVal);
		
	},
	
	/**
	* フォーム内のコントロールの初期化
	*/
	initControlVal: function(controlName, controlVal) {
		var formObj = document.getElementById("formCatalogue");
		if (formObj==null) { return; }
		var obj = dtlib.dom.getElementByName(formObj, "*", controlName);
		if (obj == null) { return; }
		obj.value = controlVal;
	},
	
	/**
	* ソートラベルの初期化
	*/
	initSortLabels: function(sortVal) {
		var labelList = dtlib.dom.getElementsByClassName(document, "span", "catalogueSortLabel");
		if (labelList==null) { return; }
		for (var i=0; i<labelList.length; i++) {
			var labelObj =labelList[i];
			if (labelObj.id == sortVal) {
				labelObj.className = "catalogueSortLabelCurrent";
			} else {
				labelObj.className = "catalougeSortLabelNotCurrent";
				dtlib.dom.addEventListener(labelObj, "click", this.onClickSort, true);
			}
		}
	},
	
	/**
	* 価格帯(min/max)設定
	*/
	setPriceMinMax: function(minVal, maxVal) {
		this.initControlVal("Where_priceMin", minVal);
		this.initControlVal("Where_priceMax", maxVal);
		var formObj = document.getElementById("formCatalogue");
		if (formObj != null) {
			formObj.submit();
		}
	},
	setPrice2MinMax: function(minVal, maxVal) {
		this.initControlVal("Where_price2Min", minVal);
		this.initControlVal("Where_price2Max", maxVal);
		var formObj = document.getElementById("formCatalogue");
		if (formObj != null) {
			formObj.submit();
		}
	},
	setPrice3MinMax: function(minVal, maxVal) {
		this.initControlVal("Where_price3Min", minVal);
		this.initControlVal("Where_price3Max", maxVal);
		var formObj = document.getElementById("formCatalogue");
		if (formObj != null) {
			formObj.submit();
		}
	},
	
	/**
	* ページング
	*/
	gotoPage: function(pageNum) {
	var frm = document.getElementById('formCatalogue');
		if (frm != null) {
			if (frm.PageNum != null) {
				frm.PageNum.value = pageNum;
				frm.submit();
			}
		}
	},
	
	/**
	* 全商品表示
	*/
	showAllItems: function() {
		var frm = document.getElementById('formCatalogue');
		if (frm != null) {
			if (frm.ForceItemsPerPage != null && frm.ItemsPerPage != null) {
				frm.ForceItemsPerPage.value = 'yes';
				frm.ItemsPerPage.value = '0';
				frm.submit();
			}
		}
	},
	
	/********************/
	/** EventListeners **/
	/********************/
	onClickSort: function(evt) {
		var obj = dtlib.dom.getTargetFromEventObj(evt);
		var objId = obj.id;
		var formObj = document.getElementById("formCatalogue");
		if (formObj==null) { return; }
		formObj.Sort.value = objId;
		formObj.submit();
	},

	/***********/
	/** Dummy **/
	/***********/
	terminateDummy: function() {
	}
}





