// 住所検索(selPref)用のJavaScript
// @auther K.Yoshida

// 「検索開始」ボタン制御
function selPref_submit()
{
    var strBaseAction = './search/list/';
    
    var obj = document.getElementsByName('city[]');
    //alert(obj.length);
    var arrParam = new Array;
    for(i=0; i<obj.length; i++)
    {
        if (obj[i].checked)
        {
            arrParam.push(obj[i].value);
        }
    }
    //alert(arrParam);
    
    if (arrParam.length == 0)
    {
        alert('行政区を選択してください。');
    }
    else if(arrParam.length > 10)
    {
        alert('行政区は１０件までです。');
    }
    else
    {
        arrParam.push(document.getElementById('cdBukkenType').value);  // ms, tk
        arrParam.push(document.getElementById('cdPref').value);        // 都道府県コード
        var strAction = '' + strBaseAction + 'city_' + arrParam.join('_') + '/';
        // strAction = './search/list/city_1_2_3_ms_40/';
        //alert(strAction);
        
        var objForm = document.forms['formMap'];
        objForm.action = strAction;
        objForm.submit();
    }
}

function selPref_submitSpec()
{
    var strBaseAction = './search/spec/';
    
    var obj = document.getElementsByName('city[]');
    //alert(obj.length);
    var arrParam = new Array;
    for(i=0; i<obj.length; i++)
    {
        if (obj[i].checked)
        {
            arrParam.push(obj[i].value);
        }
    }
    //alert(arrParam);
    
    if(arrParam.length > 10)
    {
        alert('行政区は１０件までです。');
    }
    else
    {
        var cdBukkenType = document.getElementById('cdBukkenType').value;    // ms, tk
        var cdPref = document.getElementById('cdPref').value;                // 都道府県コード
        var strAction = '' + strBaseAction + '?bukkenType=' + cdBukkenType + '&pref=' + cdPref;
        for(i=0; i<arrParam.length; i++)
        {
            strAction = strAction + '&city%5B%5D=' + arrParam[i];
        }
        // strAction = './search/spec/?bukkenType=ms&pref=40&city%5B%5D=40101&city%5B%5D=40102
        //alert(strAction);
        
        var objForm = document.forms['formMap'];
        objForm.action = strAction;
        objForm.submit();
    }
}


// 地図表示の初期位置制御
// onloadで呼ばれる。
function selPref_map(mapNo)
{
    obj = document.getElementById('MapFrame');
    switch(mapNo)
    {
        case 52:  // 北海道 南西部
        case  7:  // 福島県
        case 11:  // 埼玉県
            obj.scrollLeft = obj.scrollWidth - obj.clientWidth;
            break;
        case 22:  // 静岡県
            obj.scrollLeft = obj.scrollWidth - obj.clientWidth;
            obj.scrollTop = obj.scrollHeight - obj.clientHeight;
            break;
        default:
          break;
    }
}


// 「オススメ！」の「全てにチェック」ボタン制御
function selPref_allCheckOsusume()
{
    var bChecked;
    
    var objForm = document.forms['formOsusume'];
    var objWP = objForm['web_pam[]'];
    if (objWP)
    {
	    var cnt = selPref_getCheckboxCount(objWP);
	    var cnted = selPref_getCheckboxCheckedCount(objWP);
	    if (cnt == cnted)
	    {
	        bChecked = false;
	    }
	    else
	    {
	        bChecked = true;
	    }
	    selPref_setCheckboxAll(objWP, bChecked);
	}
}

// 「今すぐ買える」の「全てにチェック」ボタン制御
function selPref_allCheckImasugu()
{
    var bChecked;
    
    var objForm = document.forms['formImasugu'];
    var objWP = objForm['web_pam[]'];
    if (objWP)
    {
	    var cnt = selPref_getCheckboxCount(objWP);
	    var cnted = selPref_getCheckboxCheckedCount(objWP);
	    if (cnt == cnted)
	    {
	        bChecked = false;
	    }
	    else
	    {
	        bChecked = true;
	    }
	    selPref_setCheckboxAll(objWP, bChecked);
	}
}

// 指定obj内に存在するcheckboxの個数を調べる
function selPref_getCheckboxCount(obj)
{
    var cnt = 0;
    if (obj.length)
    {
	    for(i=0; i<obj.length; i++)
	    {
	        if (obj[i].type == 'checkbox')
	        {
	            cnt ++;
	        }
	    }
    }
    else
    {
        if (obj.type == 'checkbox')
        {
            cnt ++;
        }
    }
    return cnt;
}

// 指定obj内に存在するcheckboxで、checkedの個数を調べる
function selPref_getCheckboxCheckedCount(obj)
{
    var cnt = 0;
    if (obj.length)
    {
	    for(i=0; i<obj.length; i++)
	    {
	        if (obj[i].type == 'checkbox' && obj[i].checked)
	        {
	            cnt ++;
	        }
	    }
    }
    else
    {
        if (obj.type == 'checkbox' && obj.checked)
        {
            cnt ++;
        }
    }
    return cnt;
}

// 指定されたobjに含まれる全てのcheckboxを設定する。
// bChecked = true or false
function selPref_setCheckboxAll(obj, bChecked)
{
    if (obj.length)
    {
	    for(i=0; i<obj.length; i++)
	    {
	        if (obj[i].type == 'checkbox')
	        {
	            obj[i].checked = bChecked;
	        }
	    }
	}
	else
	{
        if (obj.type == 'checkbox')
        {
            obj.checked = bChecked;
        }
	}
}


// 資料請求ボタン制御
function selPref_sendSiryou()
{
    var cnt = selPref_setWebPam();
    
    if (cnt > 0)
    {
        var objForm1 = document.forms['form1'];
	    objForm1.action = document.forms['form1'].elements['DOMAIN_SECURE'].value + "/myp/req_catchup.html";
	    objForm1.submit();
	}
	else
	{
		alert ("資料請求をする物件にチェックが入っていません");
	}
}

// お気に入りボタン制御
function selPref_sendFavorite()
{
    var cnt = selPref_setWebPam();
    
    if (cnt > 0)
    {
        var objForm1 = document.forms['form1'];
	    objForm1.action = document.forms['form1'].elements['DOMAIN_SECURE'].value + "/myp/favorite.html";
	    objForm1.submit();
	    //alert("submit");
	}
	else
	{
		alert ("お気に入りへ登録する物件にチェックが入っていません");
	}
}

// 「オススメ！」と「今すぐ買える」の両方でcheckedの物件をform1に登録する
function selPref_setWebPam()
{
    var objForm1 = document.forms['form1'];
    var objFormOsusume = document.forms['formOsusume'];
    var objFormImasugu = document.forms['formImasugu'];
    var objWP;
    var objNewWP
    var cnt = 0;
    
    // form1配下に生成されているweb_pam[]を全て削除する
    for(i=objForm1.length-1; i>=0; i--)
    {
        if (objForm1[i].name == 'web_pam[]')
        {
            //alert('remove:'+i+':'+objForm1[i].value);
            objForm1.removeChild(objForm1[i]);
        }
    }
    
    // form1にオススメ！でcheckedされている物件を登録する
    if (objFormOsusume)
    {
	    if (objWP = objFormOsusume['web_pam[]'])
	    {
	        if (objWP.length)
	        {
			    for(i=0; i<objWP.length; i++)
			    {
			        if (objWP[i].checked)
			        {
		                //alert("osusume:"+ objWP[i].value +":");
			            selPref_appendWebPam(objForm1, objWP[i].value);
						cnt ++;
			        }
			    }
			}
			else
			{
		        if (objWP.checked)
		        {
	                //alert("osusume:"+ objWP.value +":");
		            selPref_appendWebPam(objForm1, objWP.value);
					cnt ++;
		        }
			}
	    }
    }
    
    // form1に「今すぐ買える」でcheckedされている物件を登録する
    if (objFormImasugu)
    {
	    if (objWP = objFormImasugu['web_pam[]'])
	    {
	        if (objWP.length)
	        {
			    for(i=0; i<objWP.length; i++)
			    {
			        if (objWP[i].checked)
			        {
		                //alert("imasugu:"+ objWP[i].value +":");
			            selPref_appendWebPam(objForm1, objWP[i].value);
						cnt ++;
			        }
			    }
			}
			else
			{
		        if (objWP.checked)
		        {
	                //alert("osusume:"+ objWP.value +":");
		            selPref_appendWebPam(objForm1, objWP.value);
					cnt ++;
		        }
			}
	    }
    }
    
    return cnt;
}

// web_pam[] を生成して追加する
function selPref_appendWebPam(objForm, value)
{
	objNewWP = document.createElement("input");
	objNewWP.setAttribute('type' , 'hidden');
	objNewWP.setAttribute('name' , 'web_pam[]');
	objNewWP.setAttribute('value' , value );
	objForm.appendChild( objNewWP );
}
