	var listShop = new Array();
	var listShopLoaded = new Array();

// タイムアウト処理
function functionList_checkTimeout()
{
	timeoutSecond -= timeInterval;
	if( timeoutSecond <= 0 )
	{
		// タイマーをストップ
		clearInterval( timerId );
		clearInterval( timerIdStatus );
		timerId = null;
		timerIdStatus = null;
		// HTTPリクエストを中断
		httpObject.abort();
		// エラーダイアログを表示
		timerIdStatus = cheltenhamText_displayTextGradually( 'LabelStatus', 'ファイルの読み込みに失敗しました。', 500, 20 );

		// 検索ボタンを有効
		functionMenu_activateButton( true );

		return( false );
	}
}

// POSTデータ
function functionList_sendPostData( objectEvent, viewOffset, viewQuantity )
{
	// 検索ボタンの一時無効
	functionMenu_activateButton( false );

	// フォームの値をGET
	if( objectEvent != null )
	{
		viewQuantity = cheltenhamForm_getValue( 'ViewQuantity' );
		viewOffset = cheltenhamForm_getValue( 'ViewOffset' );
	}

	// 送信POSTデータ
	var postData = 'Keyword=' + encodeURIComponent( cheltenhamForm_getValue( 'Keyword' ) )
//			+ '&CategoryLarge=' + encodeURIComponent( cheltenhamForm_getValue( 'CategoryLarge' ) )
//			+ '&CategoryMiddle=' + encodeURIComponent( cheltenhamForm_getValue( 'CategoryMiddle' ) )
//			+ '&CategorySmall=' + encodeURIComponent( cheltenhamForm_getValue( 'CategorySmall' ) )
			+ '&LongitudeMin=' + encodeURIComponent( cheltenhamForm_getValue( 'LongitudeMin' ) )
			+ '&LongitudeMax=' + encodeURIComponent( cheltenhamForm_getValue( 'LongitudeMax' ) )
			+ '&LatitudeMin=' + encodeURIComponent( cheltenhamForm_getValue( 'LatitudeMin' ) )
			+ '&LatitudeMax=' + encodeURIComponent( cheltenhamForm_getValue( 'LatitudeMax' ) )
			+ '&ViewQuantity=' + encodeURIComponent( viewQuantity )
			+ '&ViewOffset=' + encodeURIComponent( viewOffset );

	// HTTP通信を開始
	functionList_sendHttpRequest( urlXmlList, postData, functionList_printResultData );
}

// サーバーへデータを送信する関数
function functionList_sendHttpRequest( urlTarget, postData, functionNext )
{
	// タイマーをリセット
	timeoutSecond = timeoutSecondDefault;

	// タイマーをストップ
	if( timerId != null )
	{
		clearInterval( timerId );
	}
	if( timerIdStatus != null )
	{
		clearInterval( timerIdStatus );
	}

	// XMLHttpリクエストオブジェクト生成
	httpObject = cheltenhamXmlHttpObject_createXmlHttpRequest()
	if( !httpObject )
	{
		cheltenhamXmlHttpObject_noticeFailureCreateXmlHttpRequest();
	}

	// タイマーをセット
	timerId = setInterval( 'functionList_checkTimeout()', timeInterval );
	httpObject.open( "post", urlTarget, true );
	httpObject.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
	timerIdStatus = cheltenhamText_displayTextGradually( 'LabelStatus', 'Now Loading .............................................................', 300, 20 );
	httpObject.onreadystatechange = function()
	{
		if( httpObject.readyState == 4 )
		{
			// タイマーをストップ
			clearInterval( timerId );
			timerId = null;

			document.getElementById( 'LabelStatus' ).innerHTML = '　';
			if( httpObject.status == 200 )
			{
				// 処理を実行
				functionReference = function()
				{
					// タイマーをストップ
					clearInterval( timerIdStatus );
					timerIdStatus = null;
					// ステータスを表示
					cheltenhamText_displayTextGradually( 'LabelStatus', '検索結果が見つかりました。', 100, 20 );
				}
				setTimeout( functionReference, 0 );
				functionReference = function()
				{
					functionMenu_showSearchResult();
					functionNext( httpObject.responseXML );
				}
				setTimeout( functionReference, 100 );
			}
		}
	}
	httpObject.send( postData );
}

// 検索結果を表示する関数
function functionList_printResultData( dataXml )
{
	// ウィンドウの表示域のサイズをゲット
	var heightList = windowSize.height - ( heightMargin + heightMarginList );

	var textHtml = '';
	// リストボタン部HTML
	var textListButton = '| <a href = "javascript:functionMenu_showSearchForm();">絞込条件指定</a> |';

	// 店舗タグリスト
	var listTagShop = new Array();
	listShop = new Array();
	// 店舗件数
	var numberShopTotal = parseInt( getNodeValueIfFirstChildExist( dataXml.getElementsByTagName( 'NumberListTotal' )[ 0 ] ) );
	// ページ数
	var viewPageTotal = parseInt( getNodeValueIfFirstChildExist( dataXml.getElementsByTagName( 'ViewPageTotal' )[ 0 ] ) );
	var viewPage = parseInt( getNodeValueIfFirstChildExist( dataXml.getElementsByTagName( 'ViewPage' )[ 0 ] ) );
	// 表示数
	var viewQuantity = parseInt( getNodeValueIfFirstChildExist( dataXml.getElementsByTagName( 'ViewQuantity' )[ 0 ] ) );
	var viewOffset = parseInt( getNodeValueIfFirstChildExist( dataXml.getElementsByTagName( 'ViewOffset' )[ 0 ] ) );

	// データがなければ
	if( numberShopTotal == 0 )
	{
/*
		document.getElementById( 'ListTitle' ).style.diplay = 'none';
		document.getElementById( 'ListComment' ).innerHTML = '店舗が見つかりませんでした。';
		document.getElementById( 'ListButton' ).innerHTML = textListButton;
*/
		textHtml += '<table width = "100%" cellspacing = "0" cellpadding = "0" style = "margin-bottom:4px;">';
		textHtml += '<td>店舗が見つかりませんでした。</td>';
		textHtml += '<td align = "right">' + textListButton + '</td>';
		textHtml += '</table>';
	}
	else
	{
		// リストボタン部にページボタンを追加
		if( viewPage > 1 )
		{
			textListButton = '| <a href = "javascript:functionList_sendPostData(null,' + ( viewOffset - viewQuantity ) + ',' + viewQuantity + ');">＜前へ</a> ' + textListButton;
		}
		if( viewPage < viewPageTotal )
		{
			textListButton += ' <a href = "javascript:functionList_sendPostData(null,' + ( viewOffset + viewQuantity ) + ',' + viewQuantity + ');">次へ＞</a> |';
		}
/*
		document.getElementById( 'ListTitle' ).style.diplay = 'block';
		document.getElementById( 'ListComment' ).innerHTML = '店舗：<font class = "enhanced">' + numberShopTotal + '</font>件［ ' + viewPage + ' / ' + viewPageTotal + ' ］';
		document.getElementById( 'ListButton' ).innerHTML = textListButton;
*/
		textHtml += '<table width = "100%" cellspacing = "0" cellpadding = "0" style = "margin-bottom:4px;">';
		textHtml += '<td>店舗：<font class = "enhanced">' + numberShopTotal + '</font>件［ ' + viewPage + ' / ' + viewPageTotal + ' ］</td>';
		textHtml += '<td align = "right">' + textListButton + '</td>';
		textHtml += '</table>';

		textHtml += '<table class = "List">';
		textHtml += '<tr><td class = "ListHeader">店舗</td></tr>';
		textHtml += '</table>';

		textHtml += '<div id = "List" style = "overflow:auto;height:' + heightList + 'px">';
		textHtml += '<table class = "List">';

		// 店舗タグリストの取得
		var listTagShop = dataXml.getElementsByTagName( 'Shop' );
		// 各店舗について
		for( var i = 0 ; i < listTagShop.length ; i++ )
		{
			var styleRow = 'ListStripe' + ( i % 2 );

			// 店舗オブジェクトのインスタンス
			var objectShop = new Shop();
			// 表示中の番号
			objectShop.number = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'Number' )[ 0 ] );
			// ID
			objectShop.id = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'ID' )[ 0 ] );
			// 店名
			objectShop.nameTitle = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'NameTitle' )[ 0 ] );
			objectShop.nameMain = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'NameMain' )[ 0 ] );
			objectShop.nameBranch = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'NameBranch' )[ 0 ] );
			objectShop.setNameTotal();
			// 所在地
			objectShop.locationZip1 = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationZip1' )[ 0 ] );
			objectShop.locationZip2 = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationZip2' )[ 0 ] );
			objectShop.locationPrefecture = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationPrefecture' )[ 0 ] );
			objectShop.locationCity = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationCity' )[ 0 ] );
			objectShop.locationBlock = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationBlock' )[ 0 ] );
			objectShop.locationBlockAll = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationBlockAll' )[ 0 ] );
			objectShop.locationBuilding = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationBuilding' )[ 0 ] );
			objectShop.locationLongitude = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationLongitude' )[ 0 ] );
			objectShop.locationLatitude = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'LocationLatitude' )[ 0 ] );
			// 電話番号
			objectShop.telephoneHome = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'TelephoneHome' )[ 0 ] );
			// Web
			objectShop.webPc = getNodeValueIfFirstChildExist( listTagShop[ i ].getElementsByTagName( 'WebPC' )[ 0 ] );
			// 店舗リストに格納
			listShop[ i ] = objectShop;

			// HTML
			textFunction = 'javascript:functionMap_openShopMarkerInfoWindow(' + objectShop.id + ');';
//			textFunction = 'javascript:functionMap_openShopMarkerInfoPanel(' + objectShop.id + ');';
			textHtml += '<tr>';
			textHtml += '<td class = "' + styleRow + '" nowrap = "nowrap" onClick = "' + textFunction + '">';
//			textHtml += '<div style = "float:left;text-align:right;width:3em;margin-right:10px;">' + objectShop.number + '</div>';
			textHtml += '<div style = "float:left;overflow:hidden;"><a href = "' + textFunction + '">' + objectShop.nameTotal + '</a></div>';
			textHtml += '<div style = "float:right;width:150px;overflow:hidden;">' + objectShop.locationCity + objectShop.locationBlock + '</div>';
			textHtml += '</td>';
			textHtml += '</tr>';
		}
		textHtml += '</table>';
		textHtml += '</div>';
	}
	// HTML出力
	cheltenhamText_setHtml( 'PanelResult', textHtml );

	// Mapにプロット
	setTimeout( function(){ functionMap_plotShopIcon( listShop ); }, 500 );

	// 検索ボタンを有効
	functionMenu_activateButton( true );
}


