//==============================================================================
// ファイル名   ： search.js
// 機能         ： 検索
// 機能説明     ：
//==============================================================================

var all_count = 0;
var timer_;

var crrentBlock="";
var opacityValue=0;
var outstep = 0.1;
var instep=1;
var timer;
var expire_term_day = 30;

var popup_width = '338';
var popup_height = '54';


//==============================================================================
// 関数名       ： checkAza
// 機能         ： 字の入力をチェックする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function checkAza(max_value)
{
    if (!rangeCheckPrice())
    {
        return false;
    }

    return isCheckBoxCheckedCount('zip[]', max_value, '町域');
}


//==============================================================================
// 関数名       ： checkCity
// 機能         ： 字の入力をチェックする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function checkCity(max_value)
{
    if (!rangeCheckPrice())
    {
        return false;
    }

    return isCheckBoxCheckedCount('acity_id[]', max_value, '市区町村');
}

//==============================================================================
// 関数名       ： checkStation
// 機能         ： 駅の入力をチェックする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function checkStation(max_value)
{
    if (!rangeCheckPrice())
    {
        return false;
    }

    return isCheckBoxCheckedCount('station_id[]', max_value, '駅');
}

//==============================================================================
// 関数名       ： checkRailroad
// 機能         ： 路線の入力をチェックする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function checkRailroad(max_value)
{
    return isCheckBoxCheckedCount('route_id[]', max_value, '路線');
}

//==============================================================================
// 関数名       ： rangeCheckPrice
// 機能         ： 賃料と面積をチェックする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function rangeCheckPrice()
{
    //チェックをしない
    return true;

    //賃料をチェックする
    var low = document.getElementById('price_low');
    var high = document.getElementById('price_high');

    if (low.selectedIndex > high.selectedIndex && high.selectedIndex > 0)
    {
        alert('賃料を正しく入力してください');
        return false;
    }

    //面積をチェックする
    low = document.getElementById('foot_print_low');
    high = document.getElementById('foot_print_high');

    if (low != null)
    {
        if (low.selectedIndex > high.selectedIndex && high.selectedIndex > 0)
        {
            alert('面積を正しく入力してください');
            return false;
        }
    }


    return true
}

//==============================================================================
// 関数名       ： isCheckBoxCheckedCount
// 機能         ： チェックボックスの選択数が有効範囲か検査する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： true=正常, false=エラー
//==============================================================================
function isCheckBoxCheckedCount(object_name, limit_count, object_caption)
{
    //オブジェクトを設定する
    var targetObject = document.getElementsByName(object_name);

    //チェック済みアイテムカウンターを初期化する
    var chkeckedCount = 0;

    //オブジェクトでループする
    for(var i = 0; i < targetObject.length; i++)
    {
        //オブジェクトがチェック済みか？
        if (targetObject[i].checked)
        {
            //カウンターをインクリメントする
            chkeckedCount++;
        }
    }

    //チェック済みアイテムがあるか？
    if(chkeckedCount == 0)
    {
        //無い場合はエラーメッセージを出して、処理を抜ける
        alert(object_caption + 'を選択してください。');
        return false;
    }

    //チェック済みアイテムが有効範囲ないか？
    if(chkeckedCount <= limit_count)
    {
        //正常として処理を抜ける
        return true;
    }
    else
    {
        var message;

        //エラーメッセージを設定する
        message = '';
        message += object_caption + 'の選択できる数は' + limit_count + '個までです。';

        //エラーメッセージを出して、処理を抜ける
        alert(message);
        return false;
    }
}


//==============================================================================
// 関数名       ： setFeature
// 機能         ： こだわり検索を設定する
// 機能説明     ：
// 引数-1       ： オブジェクトID
// 引数-2       ： 値
// 引数-3       ： チェック済みフラグ
// 戻り値       ： なし
//==============================================================================
function setFeature(objectId, featureValue, isChecked)
{
    var val = '';

    if (isChecked)
    {
        val = featureValue;
    }

    object = document.getElementById(objectId);

    object.value = val;
}

//==============================================================================
// 関数名       ： conv2Commaed
// 機能         ： 数値をカンマ区切りにする
// 機能説明     ：
// 引数-1       ： 値
// 戻り値       ： フォーマットされた値
//==============================================================================
function conv2Commaed(val)
{
    if (val < 0)
    {
        return '-' + conv2Commaed(-val);
    }

    if (val >= 1000)
    {
        return conv2Commaed(Math.floor(val / 1000)) + ',' + (1000 + val % 1000 + '').substring(1);
    }
    return val;
}


//==============================================================================
// 関数名       ： setCount
// 機能         ： 件数を設定する
// 機能説明     ：
// 引数-1       ： 名前
// 引数-2       ： 件数
// 戻り値       ： なし
//==============================================================================
function setCount(name, count)
{
    if (document.getElementById(name).checked)
    {
        count = '-';
    }

    document.getElementById(name + '_count').innerHTML = '(' + count + ')';
}


//==============================================================================
// 関数名       ： hideIndicator
// 機能         ： 検索中枠を消す
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function hideIndicator()
{
    document.getElementById('loading').style.display = 'none';
    timer_ = undefined;
    //parent.$("input:checkbox").uniform();
}

//==============================================================================
// 関数名       ： nf
// 機能         ： 数値のフォーマット
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function nf(num)
{
    num=num.toString();
    while(num!=(num=num.replace(/^(\d+)(\d{3})/,"$1,$2")));
    return(num);
}

//==============================================================================
// 関数名       ： getSearchComplete
// 機能         ： 検索結果を設定する
// 機能説明     ：
// 引数-1       ： 検索結果
// 戻り値       ： なし
//==============================================================================
function getSearchComplete(text)
{
	//検討中タイマーが生きている場合はクリアする
	if (timer != undefined)
	{
        opacityValue = 0;
        clearInterval(timer);
        timer = undefined;
        document.getElementById(crrentBlock).style.display = "none";
	}
	
    document.getElementById('result_frame').innerHTML = text;

    //タイマーを作成する
    timer_ = clearTimeout(timer_);

    //取得した件数を設定する
    total = document.getElementById('all_count').value;

    pre_total = all_count;

    //取得した件数が1件以下か？
    if(total <= 1)
    {
        //読み込み中の枠を消して処理を抜ける
        hideIndicator();
        return;
    }

    //1回に更新する件数を設定する
    var step = parseInt(Math.abs(pre_total - total) / 10);

    //更新件数が0の場合は1を設定する
    if (step == 0)
    {
        step = 1;
    }

    var j = 0;

    //更新する符号を設定する
    if(pre_total > total)
    {
        j =- step;
    }
    else
    {
        j = step;
    }

    //コールバック関数
    var callback = function()
    {
        //表示する件数を設定する
        pre_total += j;

        //表示する件数が合計よりもオーバーしている場合は調整する
        if (pre_total >= total && j > 0)
        {
            pre_total = total;
        }
        else if (pre_total <= total && j < 0)
        {
            pre_total = total;
        }

        var ins2 = nf(pre_total);

        document.getElementById('countTag').innerHTML = nf(ins2);

        if (Math.abs(pre_total - total) > step)
        {
            timer_ = setTimeout(callback, 1);
        }
        else
        {
            pre_total = parseInt(total);
            var ins2 = nf(pre_total);

            $('countTag').innerHTML = nf(ins2);

            timer_ = setTimeout("hideIndicator()", 100);
        }
    }
    timer_ = setTimeout(callback, 1);

}

//==============================================================================
// 関数名       ： getList
// 機能         ： リストを取得する
// 機能説明     ：
// 引数-1       ： 開始行番号
// 戻り値       ： なし
//==============================================================================
function getList(start_no)
{
	var windowX = 0;
	var windowY = 0;

	var h = $(window);

	windowX = h.scrollLeft() + (h.width() - $().outerWidth()) / 2;
	windowY = h.scrollTop() + (h.height() - $().outerHeight()) / 2;

	if($('#result_frame').html() != '' && $('#result_frame').html() != null)
	{
		var ad = $('#result_frame').offset();
		
		if(windowY < (ad.top + 90))
		{
			windowY = ad.top + 90;
		}
	}
	
	$('#loading').css('top', windowY).css('left', windowX).fadeIn(100);
	

    document.search_form.act.value = 'search_list';

    if (start_no == undefined)
    {
        start_no = 0;
    }

    document.getElementById('loading').style.display = 'block';
    all_count = parseInt(document.getElementById('all_count').value);
    document.getElementById('countTag').innerHTML = nf(all_count);

    document.search_form.page.value = start_no;

    //Ajaxを実行する
    $.ajax({
        type: "GET",
        url: "/search/list.php",
        cache: false,
        data: $(document.search_form).serialize(),
        success:
            function(text)
            {
                getSearchComplete(text);

                //[地図で表示]用javascriptを読み込む
                if (2 == $("#view_type").val()) {
                    $.getScript('/js/show_map.js');
                }


                $.getScript('/js/search/search.js');
                eval(document.getElementById("catalyst_script").innerHTML);
            }
     });
}

//==============================================================================
// 関数名       ： pagingSubmit
// 機能         ： ページ遷移をする
// 機能説明     ：
// 引数-1       ： 行番号
// 戻り値       ： なし
//==============================================================================
function pagingSubmit(start_no)
{
	window.scroll(0,0);
    getList(start_no);
}

//==============================================================================
// 関数名       ： clossSortSubmit
// 機能         ： ソートする
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function clossSortSubmit()
{
    document.search_form.sort1.value = document.list_form.sort1.value;
    document.search_form.sort2.value = document.list_form.sort2.value;

    getList();
}

//==============================================================================
// 関数名       ： changePageCount
// 機能         ： ページあたりの件数を変更する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function changePageCount()
{
    document.search_form.page_count.value = document.list_form.page_count.value;

    getList();
}

//==============================================================================
// 関数名		： selectGroup
// 機能 		： グループを選択する
// 機能説明 	：
// 引数-1		： 開始行番号
// 引数-2		： グループ件数
// 戻り値		： なし
// 関数名       ： selectGroup
// 機能         ： グループを選択する
// 機能説明     ：
// 引数-1       ： 開始行番号
// 引数-2       ： グループ件数
// 戻り値       ： なし
//==============================================================================
function selectGroup(start, count)
{
    //物件リストを取得する
    var estate_id_list = parent.document.getElementsByName('estate_id[]');

    //チェック状態を取得する
    var is_checked = !estate_id_list[start].checked;

    //グループの開始から、件数分だけループする
    for(var i = start; i < start + count; i++)
    {
        //チェック状態を設定する
        estate_id_list[i].checked = is_checked;
    }

}


//==============================================================================
// 関数名       ： changeTab
// 機能         ： タブを変更する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function changeTab(tabNo)
{
    document.search_form.view_type.value = tabNo;
    document.search_form.page.value = '0';
    document.search_form.act.value = 'search_result';
    document.search_form.submit();
}

//==============================================================================
// 関数名       ： detail_blank
// 機能         ： 詳細を新しいウィンドウで開く
// 機能説明     ：
// 引数-1       ： URL
// 戻り値       ： なし
//==============================================================================
function detail_blank(url)
{
    window.open(url, '_blank');
}

//==============================================================================
// 関数名       ： ResultToEnsenRailroad
// 機能         ： 路線選択画面に遷移する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function ResultToEnsenRailroad(url)
{
    document.search_form.action = url;
    document.search_form.act.value = 'ensen_railroad';
    document.search_form.submit();
}

//==============================================================================
// 関数名       ： ResultToEnsenStation
// 機能         ： 駅選択画面に遷移する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function ResultToEnsenStation(url)
{
    document.search_form.action = url;
    document.search_form.act.value = 'ensen_station';
    document.search_form.submit();
}


//==============================================================================
// 関数名       ： FavClick
// 機能         ： 気になるリストボタンクリック
// 機能説明     ：
// 引数-1       ： 都道府県ID
// 引数-2       ： 物件ID
// 戻り値       ： なし
//==============================================================================
function FavClick(prefId, estateId)
{
    //登録ボタンが非表示の場合は処理を抜ける
    if (document.getElementById('fav_' + estateId) == null
        || document.getElementById('fav_' + estateId).style.display == 'none')
    {
        return;
    }

    //気になるリストに登録する
    addCookieEstId(prefId, estateId);

    //気になるボタンの親要素（spanタグ）を取得
    var target = $('#fav_' + estateId);
    //親要素のIDを変更
    target.attr("id","fav_registered_" + estateId);

    //offボタンイメージのファイル名を生成
    var imgName = $('#fav_registered_' + estateId + " img").attr("src");
    
    if (imgName != undefined)
    {
	    var num = (imgName.substr(imgName.length-7) == "_on.png") ? 7:4;
	    imgName = imgName.substr(0,imgName.length - num) + "_off.png";
	    //ボタンイメージを書き換え
	    target.html("<img src=\"" + imgName + "\" alt=\"\" />");
	}
	
    //お気に入りをカウントアップする
    addFavCount();
}

//==============================================================================
// 関数名       ： AllFavClick
// 機能         ： まとめて気になるボタンクリック
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function AllFavClick()
{
	//チェックフラグを初期化する
	var is_checked = false;
	
    //物件チェックボックスリストを設定する
    var estate_id_list = parent.document.getElementsByName('estate_id[]');

    //物件チェックボックスリストでループする
    for (var i = 0; i < estate_id_list.length; i++)
    {
        //物件チェックボックスを設定する
        var item = estate_id_list[i];

        //チェックされているか？
        if (item.checked)
        {
        	//チェックフラグを立てる
        	is_checked = true;
        	
            //物件IDを設定する
            var estateId = item.value;

            //都道府県IDを設定する
            var prefId = document.getElementById('estate_pref_' + estateId).value;

            //気になるリストに登録する
            FavClick(prefId, estateId);
        }
    }
    
    if (is_checked)
    {
    	return true;
    }
    else
    {
    	alert('物件を選択してください');
    	return false;
    }
}

//==============================================================================
// 関数名       ： AllFavClick2
// 機能         ： まとめて気になるボタンクリック
// 機能説明     ： チェックボックスなしに対応
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function AllFavClick2()
{
    //物件チェックボックスリストを設定する
    var estate_id_list = parent.document.getElementsByName('estate_id[]');

    //物件チェックボックスリストでループする
    for (var i = 0; i < estate_id_list.length; i++)
    {
        //物件チェックボックスを設定する
        var item = estate_id_list[i];

        //物件IDを設定する
        var estateId = item.value;

		//登録済みフラグを設定する
		var isFav = (document.getElementById('fav_flg_' + estateId).value == '1');
		
		//未登録か？
		if (!isFav)
		{
	        //都道府県IDを設定する
	        var prefId = document.getElementById('estate_pref_' + estateId).value;

	        //気になるリストに登録する
	        favClick2(prefId, estateId);
	    }
    }
}

//==============================================================================
// 関数名       ： AllFavClick_Detail
// 機能         ： まとめて気になるボタンクリック
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function AllFavClick_Detail()
{
    var this_estate_id = parent.document.getElementById('this_fav_estate_id').value;
    var this_pref_id = document.getElementById('this_fav_pref_id').value;

    //気になるリストに登録する
    addCookieEstId(this_pref_id, this_estate_id);
    
    //物件チェックボックスリストを設定する
    var estate_id_list = parent.document.getElementsByName('estate_id[]');

    //物件チェックボックスリストでループする
    for (var i = 0; i < estate_id_list.length; i++)
    {
        //物件チェックボックスを設定する
        var item = estate_id_list[i];

        //チェックされているか？
        if (item.checked)
        {
            //物件IDを設定する
            var estateId = item.value;

            //都道府県IDを設定する
            var prefId = document.getElementById('estate_pref_' + estateId).value;

            //気になるリストに登録する
		    addCookieEstId(prefId, estateId);
        }
    }
}

//==============================================================================
// 関数名       ： AllEstateInquiry
// 機能         ： まとめて問い合わせボタンクリック
// 機能説明     ：
// 引数-1       ： LID(初期値：null)
// 引数-2       ： 物件詳細画面であるかどうか(初期値:null)
// 戻り値       ： なし
//==============================================================================
function AllEstateInquiry(lid, detail_flg)
{
    var params = '';

    //物件チェックボックスリストを設定する
    var estate_id_list = parent.document.getElementsByName('estate_id[]');

    //物件詳細画面であるかのフラグを設定する
    var detail_flg = detail_flg || null;

    //物件チェックボックスリストでループする
    for (var i = 0; i < estate_id_list.length; i++)
    {
        //物件チェックボックスを設定する
        var item = estate_id_list[i];

        //チェックされているか？
        if (item.checked || (detail_flg != null && i == 0))
        {
            //物件IDを設定する
            var estateId = item.value;

            //都道府県IDを設定する
            var prefId = document.getElementById('estate_pref_' + estateId).value;

            params += '&pref_id[]=' + prefId;
            params += '&estate_id[]=' + estateId;
        }
    }

    //選択されたアイテムがないか？
    if (params == '')
    {
        //メッセージを表示して、処理を抜ける
        alert('物件を選択してください');
        return;
    }

    //LIDがあったらパラメータにLIDを追加する
    lid = lid || null;
    if(lid != null) params += '&lid=' + lid;


    //URLを設定する
    url = 'https://' + location.hostname + '/estateinquiry/input.php?' + params.slice(1);

    //ウィンドウを開く
    window.open(url, 'inquiry');
}

//==============================================================================
// 関数名       ： startSuggest
// 機能         ： 駅選択のサジェストを開始する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function startSuggest()
{
    new Suggest.Local(
        'station_text_1',
        'suggest_1',
        list,
        {dispMax: 10, interval: 1000, prefix:true});
}


//==============================================================================
// 関数名       ： ensenSearch
// 機能         ： 路線選択の駅絞り込み
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function ensenSearch(str)
{
    document.ensen.station_name_hid.value = str;
    document.ensen.submit();
}

//==============================================================================
// 関数名       ： saveCookieSearchCondition
// 機能         ： 検索条件を保存する
// 機能説明     ：
// 引数-1       ： 検索条件
// 戻り値       ： なし
//==============================================================================
function saveCookieSearchCondition(value)
{
    $('#favorite_mes_contents').remove();

    var div = '<div id="favorite_mes_contents">'
        + '<div id="favorite_mes_add" style="width: 270px; height: 100px;">この検索条件を保存しました。</div>'
        + '</div>';

    $('#search_terms').after(div);

    //「保存中」フェードイン
    $('#favorite_mes_add').fadeIn();
    $('#favorite_mes_add').fadeTo('slow', 1);

    //クッキーに検索条件を保存する
    addCookieSearchCondition(value);

    //「保存中」フェードアウト
    $('#favorite_mes_add').fadeOut('slow');

    document.getElementById('search_save_on').style.display = 'none';
    document.getElementById('search_save_off').style.display = '';


}

//==============================================================================
// 関数名       ： allCheck
// 機能         ： 子要素のチェックボックスを一括でON/OFFする
// 機能説明     ：
// 引数-1       ： グループID
// 引数-2       ： チェックフラグ
// 戻り値       ： なし
//==============================================================================
function allCheck(check_group_id, checked)
{
    //グループを取得する
    var check_group = document.getElementById(check_group_id);

    //グループに所属する子オブジェクトを取得する
    var check_group_child= check_group.getElementsByTagName("INPUT");

    //オブジェクトでループする
    for(var i = 0 ; i < check_group_child.length ; i++)
    {
    	//活性オブジェクトか？
    	if (!check_group_child[i].disabled)
    	{
	    	//表示しているオブジェクト、またはチェックを外す
	    	if (check_group_child[i].parentNode.style.display != 'none' || !checked)
	    	{
	    		//チェックを設定する
	    	    check_group_child [i].checked = checked;
	    	}
	    }
    }
}

//==============================================================================
// 関数名       ： changeBold
// 機能         ： 強調表示対応アイテムの表示を切り替える
// 機能説明     ：
// 引数-1       ： オブジェクトID
// 引数-2       ： チェックフラグ
// 戻り値       ： なし
//==============================================================================
function changeBold(obj_id, checked)
{
    if (checked)
    {
        document.getElementById(obj_id).className = 'bold_check_box';
    }
    else
    {
        document.getElementById(obj_id).className = '';
    }
}

//==============================================================================
// 関数名       ： changeRadioBold
// 機能         ： 強調表示対応アイテムの表示を切り替える(ラジオボタン用)
// 機能説明     ：
// 引数-1       ： オブジェクト種別
// 引数-2       ： オブジェクトID
// 戻り値       ： なし
//==============================================================================
function changeRadioBold(obj_kind, obj_id)
{
    if (obj_kind == 0)
    {
        document.getElementById('build_date__item').className = '';
        document.getElementById('build_date_3_item').className = '';
        document.getElementById('build_date_5_item').className = '';
        document.getElementById('build_date_10_item').className = '';
        document.getElementById('build_date_15_item').className = '';
        document.getElementById('build_date_20_item').className = '';
    }
    else
    {
        document.getElementById('toho_time1__item').className = '';
        document.getElementById('toho_time1_400_item').className = '';
        document.getElementById('toho_time1_560_item').className = '';
        document.getElementById('toho_time1_800_item').className = '';
        document.getElementById('toho_time1_1200_item').className = '';
    }

    document.getElementById(obj_id).className = 'bold_check_box';
}

//==============================================================================
// 関数名       ： getScreenSize
// 機能         ： 画面サイズを取得する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function getScreenSize()
{
    var isWin9X = (navigator.appVersion.toLowerCase().indexOf('windows 98')+1);
    var isIE = (navigator.appName.toLowerCase().indexOf('internet explorer')+1?1:0);
    var isOpera = (navigator.userAgent.toLowerCase().indexOf('opera')+1?1:0);

    if (isOpera) isIE = false;

    var isSafari = (navigator.appVersion.toLowerCase().indexOf('safari')+1?1:0);

    var obj = new Object();

    if (!isSafari && !isOpera)
    {
        obj.x = document.documentElement.clientWidth || document.body.clientWidth || document.body.scrollWidth;
        obj.y = document.documentElement.clientHeight || document.body.clientHeight || document.body.scrollHeight;
    }
    else
    {
        obj.x = window.innerWidth;
        obj.y = window.innerHeight;
    }

    obj.mx = parseInt((obj.x)/2);
    obj.my = parseInt((obj.y)/2);

    return obj;
}

//==============================================================================
// 関数名       ： fadeout
// 機能         ： 枠をフェードアウトする
// 機能説明     ：
// 引数-1       ：
// 引数-2       ：
// 戻り値       ： なし
//==============================================================================
function fadeout(block)
{
    if(opacityValue>=0.05)
    {
        opacityValue-=outstep;
    }
    else
    {
        opacityValue=0;
        clearInterval(timer);
        timer=undefined;
        document.getElementById(crrentBlock).style.display = "none";
        set_popup_closesize(block);
    }

    blockOpacity();
}

//==============================================================================
// 関数名       ： fadein
// 機能         ： 枠をフェードインする
// 機能説明     ：
// 引数-1       ：
// 引数-2       ：
// 戻り値       ： なし
//==============================================================================
function fadein(block)
{
    if (opacityValue <=80)
    {
        opacityValue+=instep;
    }
    else
    {
        opacityValue=1;
        clearInterval(timer);
        timer=setInterval("fadeout('"+block+"')",1);
    }
    blockOpacity();
}

//==============================================================================
// 関数名       ： blockOpacity
// 機能         ： 透明度を設定する
// 機能説明     ：
// 引数-1       ：
// 引数-2       ：
// 戻り値       ： なし
//==============================================================================
function blockOpacity()
{
    crrentBlockstyle = document.getElementById(crrentBlock).style;

    if(crrentBlockstyle.opacity != undefined)
    {
        crrentBlockstyle.opacity=opacityValue;
    }
    else if(crrentBlockstyle.MozOpacity != undefined)
    {
        crrentBlockstyle.MozOpacity=opacityValue;
    }
    else if(crrentBlockstyle.filter != undefined)
    {
        crrentBlockstyle.filter = "alpha(opacity="+opacityValue*100+")";
    }
}

//==============================================================================
// 関数名       ： set_popup_opensize
// 機能         ： ポップアップを表示する
// 機能説明     ：
// 引数-1       ： 枠ID
// 戻り値       ： なし
//==============================================================================
function set_popup_opensize(block)
{
    scroll_y = document.documentElement.scrollTop || document.body.scrollTop;
    document.getElementById('favorite_mes_contents').style.width = popup_width+'px';
    document.getElementById('favorite_mes_contents').style.height = popup_height+'px';
    document.getElementById('favorite_mes_contents').style.top = (getScreenSize().y)/2+scroll_y+'px';

    document.getElementById(block).style.width = popup_width+'px';
    document.getElementById(block).style.height = popup_height+'px';
}

//==============================================================================
// 関数名       ： set_popup_closesize
// 機能         ： ポップアップを非表示にする
// 機能説明     ：
// 引数-1       ： 枠ID
// 戻り値       ： なし
//==============================================================================
function set_popup_closesize(block)
{
    document.getElementById(block).style.width = '0px';
    document.getElementById(block).style.height = '0px';
    document.getElementById('favorite_mes_contents').style.width = '0px';
    document.getElementById('favorite_mes_contents').style.height = '0px';
}

//==============================================================================
// 関数名       ： fadeStart
// 機能         ： フェード処理を開始する
// 機能説明     ：
// 引数-1       ： 枠ID
// 引数-2       ： メッセージ
// 戻り値       ： なし
//==============================================================================
function fadeStart(block, in_message)
{
    if(!timer)
    {
        crrentBlock = block;
        set_popup_opensize(block);

        document.getElementById(crrentBlock).style.display = "block";

        if(in_message != undefined)
        {
            document.getElementById(crrentBlock).innerHTML = in_message;
        }
        else
        {
            document.getElementById(crrentBlock).innerHTML = "検討中リストに追加しました";
        }

        timer=setInterval("fadein('"+block+"')",1);
    }
}


//==============================================================================
// 関数名       ： toggleCondition
// 機能         ： 検索条件の表示非表示切り替え
// 機能説明     ：
// 引数-2       ： this「検索方法を変更する」ボタン
// 戻り値       ： なし
//==============================================================================
function toggleCondition(self) {
	var openBtn = ["検索条件を表示にする","arrow_o"];
	var closeBtn = ["検索条件を非表示にする","underarrow_o"];
	var target = $('#condition-box');

	if(target.css('display') == 'none'){
		target.toggle();
		$(self).html(closeBtn[0]);
		$(self).attr('class',closeBtn[1]);
	}else{
		target.toggle();
		$(self).html(openBtn[0]);
		$(self).attr('class',openBtn[1]);
	}
}


//==============================================================================
// 関数名       ： toggleMenu
// 機能         ： 探し方を選択枠のメニュー表示非表示切り替え
// 機能説明     ：
// 引数-2       ： this「検索方法を変更する」ボタン
// 戻り値       ： なし
//==============================================================================
function toggleMenu(self) {
	var target = $('#otherSearchList');

	if(target.css('display') == 'none'){
		target.toggle();
		$(self).attr('class','act');
	}else{
		target.toggle();
		$(self).attr('class','normal');
	}
}

//==============================================================================
// 関数名       ： chainDetailCondition
// 機能         ： こだわり条件の表示を変更する
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
function chainDetailCondition() {
	
	caption = $('#openDetailCondition').html() == '[全てのこだわり条件を表示]' ? '[全てのこだわり条件を閉じる]' : '[全てのこだわり条件を表示]';
	
	$('#openDetailCondition').html(caption);
}

//==============================================================================
// 関数名       ： switchLines
// 機能         ： 路線の切り替え
// 機能説明     ：
// 引数-1       ： this「検索方法を変更する」ボタン
// 戻り値       ： なし
//==============================================================================
function switchLines(self) {
	var links = $('#otherStations_link li');
	var self = $(self);

	links.each(function(){
		$(this).attr('class','pas');
		$('#' + this.id + 'List').css('display','none');
	});

	self.attr('class','act');
	$('#' + self.attr('id') + 'List').css('display','block');
}



//==============================================================================
// 関数名       ： document.ready
// 機能説明     ： ロード完了時の処理
// 機能説明     ：
// 引数-1       ： なし
// 戻り値       ： なし
//==============================================================================
$(document).ready(function(){
	//路線一覧のクロールイベントの設定
	if(document.getElementById('line1List')){
    	var links = $('#otherStations_link li');
		$('.otherStations').each(function(){
			$(this).carousel({loop: true, dispItems: 10, showEmptyItems: false});
			if(this.id != 'line1List')$(this).css('display','none');
		});
        links.each(function(){
            if($(this).hasClass('act')){
                $('#' + this.id + 'List').css('display','block');
            }else{
                $('#' + this.id + 'List').css('display','none');
            }
        });
	}
});

//==============================================================================
// 関数名       ： favClick2
// 機能         ： 気になるリストボタンクリック
// 機能説明     ：
// 引数-1       ： 都道府県ID
// 引数-2       ： 物件ID
// 戻り値       ： なし
//==============================================================================
function favClick2(prefId, estateId)
{
	var isFav = (document.getElementById('fav_flg_' + estateId).value == '1');
	var cookieName = 'est_pref_id[' + estateId + ']';
	
	//クラス名を設定する
	var className = document.getElementById('fav_class_' + estateId).value;
		
	if (isFav)
	{
		//登録を解除する
		
		//クッキーを削除する
		deleteCookie(cookieName);
		
		//お気に入りをカウントダウンする
		minusFavCount();
		
		//フラグを変更する
		document.getElementById('fav_flg_' + estateId).value = '0';
		
		//クラスを設定する
		document.getElementById('estate_div_' + estateId).className = className;
		
		//削除を非表示にする
		document.getElementById('fav_mark_' + estateId).style.display = 'none';
		
		//ボタンの表示を切り替える
		document.getElementById('fav_unregistered_' + estateId).style.display = 'inline';
		document.getElementById('fav_registered_' + estateId).style.display = 'none';
	}
	else
	{
		//登録する
		
	    //気になるリストに登録する
	    addCookieEstId(prefId, estateId);
	    
	    //お気に入りをカウントアップする
	    addFavCount();
	    
		//フラグを変更する
		document.getElementById('fav_flg_' + estateId).value = '1';
		
		//クラスを設定する
		document.getElementById('estate_div_' + estateId).className = className +' fav';
		
		//削除を表示する
		document.getElementById('fav_mark_' + estateId).style.display = 'inline';
		
		//ボタンの表示を切り替える
		document.getElementById('fav_unregistered_' + estateId).style.display = 'none';
		document.getElementById('fav_registered_' + estateId).style.display = 'inline';
	}
	
	//お気に入り登録件数を取得する
	count = $('#fav_count').html();
	
	//件数オブジェクトを取得する
	countList = $("span[name='favoliteCountRow']");
	
	//件数を設定する
	if (countList != null)
	{
		for(var i = 0; i < countList.length; i++)
		{
			countList[i].innerHTML = count;
		}
	}
}

//==============================================================================
// 関数名       ： favClick3
// 機能         ： 気になるリストボタンクリック
// 機能説明     ：
// 引数-1       ： 都道府県ID
// 引数-2       ： 物件ID
// 戻り値       ： なし
//==============================================================================
function favClick3(prefId, estateId)
{
    //気になるリストに登録する
    addCookieEstId(prefId, estateId);
    
    //お気に入りをカウントアップする
    addFavCount();
    
	//ボタンの表示を切り替える
	document.getElementById('fav_estate_off_' + estateId).style.display = 'none';
	document.getElementById('fav_estate_on_' + estateId).style.display = 'inline';
}

//==============================================================================
// 関数名       ： deleteCookie
// 機能         ： クッキーを削除する
// 機能説明     ：
// 引数-1       ： 名前
// 戻り値       ： なし
//==============================================================================
function deleteCookie(cName)
{
	document.cookie = cName + '=0; path=/;expires=Fri, 31-Dec-1999 23:59:59 GMT';
}



