/* SVN FILE: $Id$ */
/**
 * グルメ道検索ボックスクラス
 *
 * PHP versions 4 and 5
 *
 * Baser :  Basic Creating Support Project <http://www.e-catchup.jp>
 * Copyright 2008, Catchup, Inc.
 *								9-5 nagao3-chome, fukuoka-shi 
 *								fukuoka, Japan 814-0123
 *
 * @filesource
 * @copyright		Copyright 2008, Catchup, Inc.
 * @link			http://www.e-catchup.jp Baser Project
 * @package		cake
 * @subpackage		cake.app.controllers
 * @since			Baser v 0.1.0
 * @version		$Revision$
 * @modifiedby		$LastChangedBy$
 * @lastmodified	$Date$
 * @license		http://www.e-catchup.jp/baser/license.html
 */
/**
 * グルメ道検索ボックスクラス
 */
function GurumedoSearch() {this.loadClass()}
GurumedoSearch.prototype = {

	searchBasics: new Array,
	searchKodawaris: new Array,

/**
 * データ読込
 */
	loadClass: function(){
		
		// 基本条件設定
		this.searchBasics = jQuery.map(jQuery("img.search-basic"), this.createBasics);
		// こだわり条件設定
		this.searchKodawaris = jQuery.map(jQuery("img.search-kodawari"), this.createKodawaris);
		// こだわり条件のスライドイベント登録
		jQuery("#btnSearchKodawari").click(this.slideKodawari);

		// こだわり検索スライドボタンのロールオーバー対象を設定
		jQuery("#btnSearchKodawari").attr({targetimage:"headSearch"});
		new RollOver(".search-hover");
		
		// 検索ボタンのクリックイベントを登録
		jQuery("#btnSearchSubmit").click(this.submitConditions);
		
	},
/**
 * データを送信する
 */
 	submitConditions: function (){
		jQuery("#frmSearch").submit();
		return false;
	},
/**
 * こだわり検索をスライドする
 */
	slideKodawari: function (){

		if(jQuery("#SearchKodawari").is(':hidden')){
			jQuery("#SearchKodawari").slideDown(1000);
		}else{
			jQuery("#SearchKodawari").slideUp();
		}
		return false;
		
	},
/**
 * 基本セレクトボタン登録
 */
	createBasics: function(n,i){
		return new SelectButton(n.id.substr(n.id.length-4,4),'btnSearchBasic','SearchBasic');
	},
/**
 * こだわりセレクトボタン登録
 */
	createKodawaris: function(n,i){
		return new SelectButton(n.id.substr(n.id.length-4,4),'btnSearchKodawari','SearchKodawari');
	}
}









/**
 * グルメ道絞り込みボックスクラス
 */
function GurumedoFilter() {this.loadClass()}
GurumedoFilter.prototype = {

	filterKodawaris: new Array,
/**
 * データ読込
 */
	loadClass: function(){
		// こだわり条件設定
		this.filterKodawaris = jQuery.map(jQuery("img.filter-kodawari"), this.createKodawaris);
		// こだわり条件のスライドイベント登録
		jQuery("#btnFilterKodawari").click(this.slideKodawari);

		// こだわり検索スライドボタンのロールオーバー対象を設定
		jQuery("#btnFilterKodawari").attr({targetimage:"headFilter"});
		new RollOver(".filter-hover");
		
		// 検索ボタンのクリックイベントを登録
		jQuery("#btnFilterSubmit").click(this.submitConditions);
		
		// 親条件の除外フィルターイベント登録
		jQuery(".filter-basic").click(this.excludeParent);
	},
/**
 * 親の条件を除外する
 */
 	excludeParent: function (){
		
		var parent = jQuery(this).parent();
		var children = parent.children();
		var checked = jQuery.map(children,function(value,key){
			var checked = false;
			if(value.type=='checkbox'){
				if(jQuery(value).attr("checked")){
					checked = true;
				}
			}
			return checked;
        });

		var _checked = false;
		for(var i=0;i<checked.length;i++){
			if(checked[i]){
				_checked = true;
			}
		}
		parentId = '#FilterBasic'+this.id.substr(this.id.length-4,2)+parent[0].id.substr(parent[0].id.length-2,2)+"Exclude";
		if(_checked){
			jQuery(parentId).attr("checked",true);
		}else{
			jQuery(parentId).attr("checked",false);
		}
	},
/**
 * データを送信する
 */
 	submitConditions: function (){
		jQuery("#frmFilter").submit();
		return false;
	},
/**
 * こだわり検索をスライドする
 */
	slideKodawari: function (){
		if(jQuery("#FilterKodawari").is(':hidden')){
			jQuery("#FilterKodawari").slideDown(1000);
		}else{
			jQuery("#FilterKodawari").slideUp();
		}
	},
/**
 * こだわりセレクトボタン登録
 */
	createKodawaris: function(n,i){
		return new SelectButton(n.id.substr(n.id.length-4,4),'btnFilterKodawari','FilterKodawari');
	}
}
