/**
 * @author katsuma
 */

/**
 * LOAD時の処理
 */
function jsOnload_search(){

     //沿線を選択したときの動作
     Event.observe($('sRail[]'), 'change', function() { click_sRail();}, false);

     //駅を選択したときの動作
     Event.observe($('sStation[]'), 'change', function() { click_sStation();}, false);

     //検索ヘッダーを押したときに折りたたむ処理
     Event.observe($('search_title'), 'click', function() { Effect.toggle('search_condition','slide',{duration:0.3}); }, false);

     //絞込検索画面ボタンを押下したときの処理
     Event.observe($('bOpenWin'), 'click', function() { open_Win();  }, false);

     //家賃（最低）の設定を選択したときの処理
     Event.observe($('sRent_Min'), 'change', function() {
		get_json_text();		//リストの書き換えを行う。
     }, false);

     //家賃（最高）の設定を選択したときの処理
     Event.observe($('sRent_Max'), 'change', function() {
		get_json_text();		//リストの書き換えを行う。
     }, false);

     //間取りを押下したときの処理
     Event.observe($('cRoomtype_1'), 'click', function() {
		get_json_text();		//リストの書き換えを行う。
     }, false);
     Event.observe($('cRoomtype_2'), 'click', function() {
		get_json_text();		//リストの書き換えを行う。
     }, false);
     Event.observe($('cRoomtype_3'), 'click', function() {
		get_json_text();		//リストの書き換えを行う。
     }, false);

     //沿線の読み込み
     //read_Rail();
	//データ初期表示
	if($("tab_start_flg").value != ''){
	 	click_sStation();
	}
}

/**
 * Loadingの表示・非表示
 */
Ajax.Responders.register({
	onCreate: function() {
        Element.show($('loading'));
     },
     onComplete: function() {
        Element.hide($('loading'));
     }
});

/**
 * 沿線の読み込み
 */
function read_Rail() {
	//var params = 'action=searchrail';
	$("action").value = "searchrail";
	new Ajax.Request (
		cJURL_LIST,
		{
            method: 'POST',
            parameters: Form.serialize("fSearch"),
            onComplete: show_Rail
		}
	);
}

/**
 * 沿線の読み込みの戻り処理
 */
function show_Rail(req, json) {
	var resOj = null;
	eval("var ret = " + req.responseText);
	resOj = new chgJSONtoSELECT(ret,$('sRail[]'));
	resOj.addOptions();
}

/**
 * 沿線をクリックしたときの動作
 */
function click_sRail() {
	$("action").value = "searchstation";
	$("reqpage").value = "1";
	$("select_sid").value = "";
	read_Station();
}

/**
 * 駅の読み込み
 */
function read_Station() {
	//var params = 'action=station';
	$('action').value = "searchstation";
	$("reqpage").value = "1";
	$("select_sid").value = "";
	$("select_roomid").value = "";
	
	new Ajax.Request (
		cJURL_LIST,
		{
			method: 'POST',
			parameters: Form.serialize("fSearch"),
			onComplete: show_Station
		}
	);
}

/**
 * 駅の読み込みの戻り処理
 */
function show_Station(req, json) {
	var resOj = null;
	eval("var ret = " + req.responseText);
	resOj = new chgJSONtoSELECT(ret,$('sStation[]'));
	if(req.responseText == "[]"){
		resOj.delAllOptions($('sStation[]'));
	}else{
		resOj.addOptions("STATION");
	}
	//リストの書き換えを行う。
	get_json_text();
	//マップの書き換えを行う。
	//setMap();
}

/**
 * リスト用JSONデータを取得する。
 */
function get_json_text() {	
	$('action').value = "left";
	$("reqpage").value = "1";
	$("select_sid").value = "";
	$("select_sid").value = "";
	$("select_roomid").value = "";
	
	DefaultContents();		//詳細表示をデフォルトへ。
	new Ajax.Request (
	cJURL_LIST,
	{
	  method: 'POST',
	  parameters: Form.serialize("fSearch"),
	  onComplete: ListLoadMap
	});
}

/**
 * セレクトメニュー操作クラス
 */
function chgJSONtoSELECT(ret,oj){
     return{
	       //オプションを生成します。(区分：STATIONの場合、全オプションを選択状態にします。)
	       addOptions : function (kbn){
	            //オプションを削除します
	            this.delAllOptions(oj);
	            //JSONデータを出力します
	            for( i = 0 ; i < ret.list.length ; i++ ){
	                 var text  = ret.list[i].Name;
	                 var value = ret.list[i].ID;
	            	 var idx = oj.length;
	                 oj.options[idx]=new Option(text,value);
	            	if(kbn == "STATION" && value != "none"){
	            	 	oj.options[idx].selected = true;
	            	}
	            }
	       },
	       //indexで指定した以外のオプションをすべて削除します
	       delOptionsWithoutIndex : function (oj,index){
	            var optionIndex = oj.options.length;
	            for ( i=optionIndex ; i >= 0  ; i-- ){
	                 if(index!=i)oj.options[i]=null;
	            }
	       },
	       //すべてのオプションを削除します
	       delAllOptions : function (oj){
	            var optionIndex = oj.options.length;
	            for ( i=0 ; i <= optionIndex ; i++ ){
	                 oj.options[0]=null;
	           }
	       }
     }
}

/**
 * 駅をクリックしたときの動作
 */
function click_sStation() {
	
	//リストの書き換えを行う。
	get_json_text();
	
	//マップの書き換えを行う。
	//setMap();
}

/**
 * 検索処理
 */
function show_Msg(msg) {
     $('message').innerHTML = msg;
}


