//==============================================================================
// ファイル名   ： top.js
// 機能         ： トップ
// 機能説明     ：
//==============================================================================


//==============================================================================
// 関数名       ： -
// 機能         ： 初期化
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
$(function()
{
	//駅のサンプル
	$(function($){$("#id_stname_1").Watermark("例：新宿","#999");});

	//都道府県のイベントを設定する
	changePrefID();
	
	//検索種別のイベントを設定する
	changeSearchType();

	$('input[name="search_type"]').click(changeSearchType);
});


//==============================================================================
// 関数名       ： startSuggest
// 機能         ： サジェスト開始
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function startSuggest()
{
  new Suggest.Local(
        "id_stname_1",    // 入力のエレメントID
        "suggest_station_1", // 補完候補を表示するエリアのID
        list,      // 補完候補の検索対象となる配列
        {dispMax: 10, interval: 1000, prefix:true}); // オプション
}


window.addEventListener ?
window.addEventListener('load', startSuggest, false) :
window.attachEvent('onload', startSuggest);


//==============================================================================
// 関数名       ： startSuggest2
// 機能         ： サジェスト開始
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function startSuggest2()
{
  new Suggest2.Local(
        "id_stname_2",    // 入力のエレメントID
        "suggest_station_2", // 補完候補を表示するエリアのID
        list,      // 補完候補の検索対象となる配列
        {dispMax: 10, interval: 1000, prefix:true}); // オプション
}


window.addEventListener ?
window.addEventListener('load', startSuggest2, false) :
window.attachEvent('onload', startSuggest2);


//==============================================================================
// 関数名       ： -
// 機能         ： 地図
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
$(function ()
{
    var hoverWindow = $('div.hover_menu');

    //map-hover
    $('area').hover(
        //mouseover
        function()
        {
            //get id
            var mine = "" + $(this)[0].id;
            re = new RegExp("map_", "i");
            if (mine.match(re))
            {
                target_src = "/images/map/" + mine + ".gif";
            }
            else
            {
                target_src = "/images/map/map_" + mine + ".gif";
            }
            document.getElementById("map_japan").src = target_src;
        },
        //mouseout
        function ()
        {
            document.getElementById("map_japan").src = "/images/map/map.gif";
        }
    );

    //map-click
    $('area').click(
        function ()
        {
            //get id
            var str = "" + $(this)[0].id;
            var rgexp = new RegExp("map_", "g");
            pref_name = str.replace(rgexp, "");

            //get jsonData
            $.getJSON(
                '/top/prefpanel.php',
                {
                    "pref_name":pref_name
                },
                function(data,status)
                {
                    if (status=='success')
                    {
                        //print hover image
						//アナウンス表示時
                        //hoverWindow.css({display:'block',top: data['top'] + 45 + 'px',left: data['left'] + 'px'});
						hoverWindow.css({display:'block',top: data['top'] + 'px',left: data['left'] + 'px'});

                        //update pref_panel
                        $('a.[name="ensen_search"]').attr('href', data['id'] + '/s/');
                        $('a.[name="area_search"]').attr('href', data['id'] + '/a/');
                    }
                    return false;
                }
            );
      }
    );

    //close hovermenu
    $('img.close_btn').click(function(){
        hoverWindow.css('display','none');
        document.getElementById("map_japan").src = "/images/map/map.gif";
        return false;
    });
});


//==============================================================================
// 関数名       ： changePrefID
// 機能         ： 都道府県変更
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function changePrefID()
{
	//路線
	url = '/top/getprefroute.php?pref_id=' + $('#pref_id').val();

	$.ajax({
		url: url,
		cache: true,
		success: function(html){
		$("#search_route").html('<span class="weight-bold">沿線</span>' + html);
		}
    });
	
	//市区町村
	url = '/top/getprefcity.php?pref_id=' + $('#pref_id').val();

	$.ajax({
		url: url,
		cache: true,
		success: function(html){
		$("#search_city").html('<span class="weight-bold">市区町村</span>' + html);
		}
    });
	
	$('#quick_form').attr('action', '/' + $('#pref_id').val() +  '/');
}


//==============================================================================
// 関数名       ： changeSearchType
// 機能         ： 検索タイプの変更
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function changeSearchType()
{
	//枠を消す
	$('#search_route,#search_city,#search_station').hide();

	//対象の枠を表示する
	switch ($("input[name='search_type']:checked").val())
	{
		case '2':
			//駅名
			$('#search_station').show();
			break;
			
		case '0':
			//沿線
			$('#search_route').show();
			break;
			
		case '1':
			//市区町村
		case '3':
			//地図
			$('#search_city').show();
			break;
	}
}


//==============================================================================
// 関数名       ： quickSubmit
// 機能         ： クイック検索サブミット
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function quickSubmit()
{
	//戻りを初期化する
	ret = false;
	
	//間取りを設定する
	setMadori();
	
	//エラーメッセージを非表示にする
	$('#alert_message_div').css('display', 'none');
	
	//都道府県をチェックする
	if ($('#pref_id').val() == '')
	{
		setAlertMessage('都道府県が選択されていません');
		
		return false;
	}
	
	//$('#quick_form').attr('action', '/' + $('#pref_id').val() +  '/');
	//alert($('#quick_form').attr('action'));
	
	//検索タイプを設定する
	search_type = $('[name=search_type]:checked').val();
	
	//検索タイプによってチェックする
	switch (search_type)
	{
		case '0':
			//沿線で検索
			ret = quickSubmitEnsen();
			break;
			
		case '1':
			//市区町村で検索
			ret = quickSubmitCity();
			break;
			
		case '2':
			//駅名で検索
			ret = quickSubmitStation();
			break;
			
		case '3':
			//地図で検索
			ret = quickSubmitMap();
			break;
			
		default:
			break;
	}
	
	return ret;
}

//==============================================================================
// 関数名       ： quickSubmitEnsen
// 機能         ： 
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function quickSubmitEnsen()
{
	if ($('[name=route_id]').val() == '')
	{
		setAlertMessage('路線が選択されていません');
		return false;
	}
	
	return true;
}

//==============================================================================
// 関数名       ： quickSubmitCity
// 機能         ： 
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function quickSubmitCity()
{
	if ($('[name=acity_id]').val() == '')
	{
		setAlertMessage('市区町村が選択されていません');
		return false;
	}
	
	return true;
}

//==============================================================================
// 関数名       ： quickSubmitStation
// 機能         ： 
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function quickSubmitStation()
{
	if ($('[name=station_name]').val() == '')
	{
		setAlertMessage('駅名が入力されていません');
		return false;
	}
	
	return true;
}

//==============================================================================
// 関数名       ： quickSubmitMap
// 機能         ： 
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function quickSubmitMap()
{
	if ($('[name=acity_id]').val() == '')
	{
		setAlertMessage('市区町村が選択されていません');
		return false;
	}
	
	return true;
}

//==============================================================================
// 関数名       ： setAlertMessage
// 機能         ： エラーメッセージを表示する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function setAlertMessage(message)
{
	$('#alert_message_div').css('display', 'block');
	$('#alert_message').html(message);
}

//==============================================================================
// 関数名       ： stationSearchSubmit
// 機能         ： 駅検索サブミット
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function stationSearchSubmit()
{
	if ($('#id_stname').val() == '' || $('#id_stname').val() == '例：新宿')
	{
		alert('駅名を入力してください');
		return false;
	}
	
	return true;
}

//==============================================================================
// 関数名       ： setMadori
// 機能         ： 間取りを設定する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function setMadori()
{
	$('#madori_1_10').val('');
	$('#madori_1_20').val('');
	$('#madori_1_30').val('');
	$('#madori_1_50').val('');
	$('#madori_2_20').val('');
	$('#madori_2_30').val('');
	$('#madori_2_50').val('');
	$('#madori_3_20').val('');
	$('#madori_3_30').val('');
	$('#madori_3_50').val('');
	$('#madori_4_20').val('');
	$('#madori_4_30').val('');
	$('#madori_4_50_ge').val('');
	
	if ($('#roomtype_1_10:checked').val())
	{
		$('#madori_1_10').val('1_10');
		$('#madori_1_20').val('1_20');
		$('#madori_1_30').val('1_30');
		$('#madori_1_50').val('1_50');
	}
	
	if ($('#roomtype_2_20:checked').val())
	{
		$('#madori_2_20').val('2_20');
		$('#madori_2_30').val('2_30');
		$('#madori_2_50').val('2_50');
	}
	
	if ($('#roomtype_3_20:checked').val())
	{
		$('#madori_3_20').val('3_20');
		$('#madori_3_30').val('3_30');
		$('#madori_3_50').val('3_50');
	}
	
	if ($('#roomtype_4_20:checked').val())
	{
		$('#madori_4_20').val('4_20');
		$('#madori_4_30').val('4_30');
	}
	
	if ($('#roomtype_4_50_ge:checked').val())
	{
		$('#madori_4_50_ge').val('4_50_ge');
	}
}


