// $Id: bukken_list.js,v 1.12 2009/03/19 09:00:23 ikedakz Exp $

/**
 * form.action属性の初期値保持変数
 */
var __defaultAction = '';

/**
 * 駅絞リスト用
 */
function moveStation(eki){
	_init(document.bukken_list);
	document.bukken_list.elements['eki[]'].value=eki;
	document.bukken_list.submit();
}

/**
 * 並び順変更
 */
function changeSort(key){
	_init(document.bukken_list);
	document.bukken_list.elements['sort_by'].value=key;
	document.bukken_list.elements['rows_offset'].value=0;
	document.bukken_list.submit();
}

/**
 * お気に入り並び順変更
 */
function changeSortForFavorite(f, tk_str, key){
	_init(f);
	f.elements[tk_str+'_sort_by'].value=key;
	f.submit();
}

/**
 * お気に入り問合せ状況変更
 */
function changeInquireForFavorite(f, tk_str, key){
	_init(f);
	f.elements[tk_str+'_inq_status'].value=key;
	f.submit();
}

/**
 * 検索対象変更
 */
function changeFreshness(freshness){
	_init(document.bukken_list);
	document.bukken_list.elements['cond_new_arrival'].value=freshness;
	document.bukken_list.elements['rows_offset'].value=0;
	document.bukken_list.submit();
}

/**
 * 表示方法変更
 */
function changeListType(listtype){
	_init(document.bukken_list);
	document.bukken_list.elements['list_type'].value=listtype;
	document.bukken_list.submit();
}

/**
 * 表示件数変更
 */
function changeListRows(rows){
	_init(document.bukken_list);
	document.bukken_list.elements['list_rows'].value=rows;
	document.bukken_list.submit();
}

/**
 * ページ移動
 */
function changePage(offset){
	_init(document.bukken_list);
	document.bukken_list.elements['rows_offset'].value=offset;
	document.bukken_list.submit();
}

/**
 * 物件詳細表示
 */
function _openDetail(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='/search/detail/';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りに登録
 */
function _registerFavorite(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='/search/favorite/register.php';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りに登録 for D3EnsenEngine
 */
function _registerFavoriteD3(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://realestate.homes.co.jp/search/favorite/register.php';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りに登録 for D3EnsenSingle
 */
function _registerFavoriteD3Single(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://single.homes.co.jp/search/favorite/register.php';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りに登録 on ajax
 */
function _registerFavoriteAjax(f) {
    _init(f);
    if(_checkBukkenList(f,'b[]',40)){
    new Ajax.Request(
        '/ajax_res/ajax_favorite_register/',
        {
            method: 'post', 
            parameters: Form.serialize(f), 
            onComplete: function(responseHttpObj){
//                var res = responseHttpObj.responseText;
//                if(res){
//                    alert(res);
//                }
            }
        })
    }
    return false;
}

/**
 * お気に入りから削除
 */
function _deleteFavorite(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='/search/favorite/list.php';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りから削除 for D3EnsenEngine
 */
function _deleteFavoriteD3(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://realestate.homes.co.jp/search/favorite/list.php';
		return true;
	}else{
		return false;
	}
}

/**
 * お気に入りから削除 for D3EnsenEngineSingle
 */
function _deleteFavoriteD3Single(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://single.homes.co.jp/search/favorite/list.php';
		return true;
	}else{
		return false;
	}
}

/**
 * 一括問合せ
 */
function _openInquire(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='/search/inquire.php';
		return true;
	}else{
		return false;
	}
}

/**
 * 一括問合せ for D3EnsenEngine
 */
function _openInquireD3(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://realestate.homes.co.jp/search/inquire.php';
		return true;
	}else{
		return false;
	}
}

/**
 * 一括問合せ(ポップアップ)
 */
function _openPopupInquire(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='/search/inquire.php';
		f.target = '_blank';
		return true;
	}else{
		return false;
	}
}

/**
 * 一括問合せ(ポップアップ) for D3EnsenEngine
 */
function _openPopupInquireD3(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',40)){
		f.action='http://realestate.homes.co.jp/search/inquire.php';
		f.target = '_blank';
		return true;
	}else{
		return false;
	}
}

/**
 * メールで紹介
 */
function _openIntro(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',5)) {
		f.action = '/intro/index.php';
		f.target = '_blank';
		return true;
	}
	return false;
}

/**
 * メールで紹介 for D3EnsenEngine
 */
function _openIntroD3(f) {
	_init(f);
	if(_checkBukkenList(f,'b[]',5)) {
		f.action = 'http://realestate.homes.co.jp/intro/index.php';
		f.target = '_blank';
		return true;
	}
	return false;
}

/**
 * actionなどを初期化
 */
function _init(f){
	if (!__defaultAction) {
		__defaultAction = f.action;
	}
	f.action = __defaultAction;
	f.target = '_self';
}

/**
 * ワンクリック登録
 */
function registerOneClick(f,btn) {
	_init(f);
	f.action='/search/main.php?btn='+btn;
}

/**
 * 新着への登録
 */
function registerNewArrival(f,btn){
	_init(f);
	f.action='/newarrival/confirm.php';
}

/**
 * 新着への登録 for D3EnsenEngine
 */
function registerNewArrivalD3(f,btn){
	_init(f);
	f.action='http://realestate.homes.co.jp/newarrival/confirm.php';
}

/**
 * まとめてチェック判定
 */
function _checkBukkenList(f, chkname, max_cnt) {
	var cnt = 0;
	var all_cnt = 0;

	if (!f.elements[chkname].length) {
		all_cnt++;
		if (f.elements[chkname].checked) cnt++;
	} else {
		for (i=0; i<f.elements[chkname].length; i++) {
			all_cnt++;
			if (f.elements[chkname][i].checked) cnt++;
		}
	}
	if (cnt == 0) {
		msg = "物件が選択されていません。\n\n";
		if (all_cnt > max_cnt) {
			msg += "上位"+max_cnt+"件を対象に処理を行いますか？";
			check_cnt = max_cnt;
		} else {
			msg += "全ての物件を対象に処理を行いますか？";
			check_cnt = all_cnt;
		}
		if (confirm(msg)) {
			if (!f.elements[chkname].length) {
				f.elements[chkname].checked = true;
			} else {
				for (i=0; i<check_cnt; i++) {
					f.elements[chkname][i].checked = true;
				}
			}
			cnt = check_cnt;
		} else {
			cnt = 0;
		}
	} else if (cnt>max_cnt) {
		msg = "同時に指定できる物件数は"+max_cnt+"件までです。\n\n"
			+ "上位"+max_cnt+"件を対象に処理を行いますか？";
		check_cnt = 0;
		if (confirm(msg)) {
			for (i=0; i<f.elements[chkname].length; i++) {
				if (f.elements[chkname][i].checked) {
					if (check_cnt >= max_cnt) {
						f.elements[chkname][i].checked = false;
					} else {
						check_cnt++;
					}
				}
			}
			cnt = check_cnt;
		} else {
			cnt = 0;
		}
	}
	return cnt;
}


// homes_ctrlのsubmit tracerを作成
var oSubmitTracer = new cSubmitTracer();
homesCtrl.registerObj(oSubmitTracer);

/**
 * 物件一覧のsubmit処理
 */
function doSubmit(f) {
	submit_btn = oSubmitTracer.name.toLowerCase();
	switch(submit_btn){
	case 'btn_inquire':
		return _openInquire(f);
		break;
	case 'btn_inquire_popup':
		return _openPopupInquire(f);
		break;
	case 'btn_detail':
		return _openDetail(f);
		break;
	case 'btn_favorite':
		return _registerFavorite(f);
		break;
    case 'btn_favorite_ajax':
        return _registerFavoriteAjax(f);
        break;
	case 'btn_del_fav':
		return _deleteFavorite(f);
		break;
	case 'btn_intro':
		return _openIntro(f);
		break;
	case 'btn_inquire_d3':
		return _openInquireD3(f);
		break;
	case 'btn_inquire_popup_d3':
		return _openPopupInquireD3(f);
		break;
	case 'btn_favorite_d3':
		return _registerFavoriteD3(f);
		break;
	case 'btn_favorite_d3_single':
		return _registerFavoriteD3Single(f);
		break;
	case 'btn_del_fav_d3':
		return _deleteFavoriteD3(f);
		break;
	case 'btn_del_fav_d3_single':
		return _deleteFavoriteD3Single(f);
		break;
	case 'btn_intro_d3':
		return _openIntroD3(f);
		break;
	default:
		break;
	}
}

/**
 * 物件一覧のsubmitはこの関数を呼ぶ
 */
function submitBukkenList() {
	_init(document.bukken_list);
	document.bukken_list.submit();
}