﻿/*********************************************************
（このファイルはUTF-8で保存すること）
*********************************************************/



/*********************************************************
	検索実行

page_number　→　常に1を指定する。
count　→　１ページあたり何件表示するかを指定する。
result_template　→　検索結果表示に使用するテンプレートファイル名を指定する。指定しない場合は''を渡す（その場合はsearch.tplが使用される）
form_template　→　検索フォーム表示に使用するテンプレートファイル名を指定する。指定しない場合は''を渡す（その場合はget_search_form.tplが使用される）
dap　→　出発地を次の中から指定する。指定しない場合は''を渡す。
	'東京'
	'大阪'
	'名古屋'
	'福岡'
	'札幌'
	'その他'
hdst1　→　目的地（地域）のコードを' 'で囲って指定する。指定しない場合は''を渡す。
hdst2　→　目的地（国）のコードを' 'で囲って指定する。指定しない場合は''を渡す。
hdst3　→　目的地（都市）のコードを' 'で囲って指定する。指定しない場合は''を渡す。
scs1　→　座席クラスを次の中から指定する。指定しない場合は''を渡す。
	'5'		…　ミドルクラス
	'7'		…　ビジネスクラス
	'9'		…　ファーストクラス
scs2　→　座席クラスを次の中から指定する。指定しない場合は''を渡す。
	'5'		…　ミドルクラス
	'7'		…　ビジネスクラス
	'9'		…　ファーストクラス
scs3　→　座席クラスを次の中から指定する。指定しない場合は''を渡す。
	'5'		…　ミドルクラス
	'7'		…　ビジネスクラス
	'9'		…　ファーストクラス
ym　→　出発月を'yyyy/mm'で指定する。指定しない場合は''を渡す。
aln　→　航空会社コードを' 'で囲って指定する。指定しない場合は''を渡す。
prl　→　料金の範囲下限を' 'で囲って指定する。指定しない場合は''を渡す。
pru　→　料金の範囲上限を' 'で囲って指定する。指定しない場合は''を渡す。
tp　→　旅行形態を次の中から指定する。指定しない場合は''を渡す。
	'1'		…　往復（帰国便変更可）
	'2'		…　往復（帰国便変更不可）
	'3'		…　片道

*********************************************************/
function do_select( page_number, count, result_template, form_template, dap, hdst1, hdst2, hdst3, scs1, scs2, scs3, ym, aln, prl, pru, tp )
{
	sendData  =  "count=" + encodeURI( count );
	sendData  += "&result_template=" + encodeURI( result_template );
	sendData  += "&form_template=" + encodeURI( form_template );
	sendData  += "&dap=" + encodeURI( dap );
	sendData  += "&hdst[0]=" + encodeURI( hdst1 );
	sendData  += "&hdst[1]=" + encodeURI( hdst2 );
	sendData  += "&hdst[2]=" + encodeURI( hdst3 );
	if ( "" != scs1 ){
		sendData += "&scs[]=" + encodeURI( scs1 );
	}
	if ( "" != scs2 ){
		sendData += "&scs[]=" + encodeURI( scs2 );
	}
	if ( "" != scs3 ){
		sendData += "&scs[]=" + encodeURI( scs3 );
	}
	sendData  += "&ym=" + encodeURI( ym );
	sendData  += "&aln=" + encodeURI( aln );
	sendData  += "&prl=" + encodeURI( prl );
	sendData  += "&pru=" + encodeURI( pru );
	sendData  += "&tp=" + encodeURI( tp );
	sendData  += "&p=" + encodeURI( page_number );
	httpObj = createXMLHttpRequest( fetch_select_result );
	if ( httpObj ){
		httpObj.open( "POST", "/ajax/select.php", true );
		httpObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	//この指定が無いとリクエストを受け付けない処理系もあるので
		httpObj.send( sendData );
		if ( isOpera() ){	//Opera
			var main_contents = eval( 'document.all.main_contents' );
			main_contents.innerHTML = "<div align='center' style='padding:50px;'><img src='ajax/ajax-loader.gif'></div>";
		}
		else{
			var main_contents = document.getElementById( 'main_contents' );
			main_contents.innerHTML = "<div align='center' style='padding:50px;'><img src='ajax/ajax-loader.gif'></div>";
		}
	}
}

/*********************************************************
	検索結果を受信＆表示
*********************************************************/
function fetch_select_result()
{
	if ( ( httpObj.readyState == 4 ) && ( httpObj.status == 200 ) ){
		//JSONのデータを解析して表示する
		jsData = httpObj.responseText;
		data = eval("("+jsData+")");
		if ( data.search_result_html ){
			if ( isOpera() ){	//Opera
				var main_contents = eval( 'document.all.main_contents' );
				main_contents.innerHTML = data.search_result_html;
			}
			else{
				var main_contents = document.getElementById( 'main_contents' );
				main_contents.innerHTML = data.search_result_html;
			}
		}
		if ( data.search_form_html ){
			if ( isOpera() ){	//Opera
				var main_form = eval( 'document.all.main_form' );
				main_form.innerHTML = data.search_form_html;
			}
			else{
				var main_form = document.getElementById( 'main_form' );
				main_form.innerHTML = data.search_form_html;
			}
		}
	}
}



/*********************************************************
	IEか？
*********************************************************/
function isIE()
{
	str = navigator.appName.toUpperCase();
	if ( str.indexOf("EXPLORER") >= 0 ){
		return true;
	}
	else{
		return false;
	}
}

/*********************************************************
	Operaか？
*********************************************************/
function isOpera()
{
	if ( navigator.userAgent.indexOf("Opera") != -1 ){	//Opera
		return true;
	}
	else{
		return false;
	}
}
