// 起動時の処理
function boot() {
    enableAll();
    checkArea();
}

// search/area-search
function enableAll() {
    var elements = document.forms[0].elements;
    for(i = 0; i < elements.length; i++) {
        elements[i].disabled = false;
    }
}

// search/linesearch
function restrictLines(limit) {
    var message1 = "検索する沿線は"+limit+"件まででお願い致します。";
    var message2 = "検索条件が指定されていません。";

    var elements = $$("input:checked");
    count = 0;
    for(i in elements) {
        if(elements[i].name == "ck_line[]" && elements[i].checked) {
            count++;
        }
    }

    if(count > limit) {
        alert(message1);
        return false;
    } else if(count == 0) {
        alert(message2);
        return false;
    } else {
        document.forms[0].submit();
        return true;
    }
}

// search/detail-search
function detailSearchSubmit() {
    var form = setFormElements();

    // 間取りが無効化されていれば、その値を初期化する
    if(madoriDisabledFlag) {
        // 間取り
        for(i = 0; i < madoris.length; i++) {
            madoris[i].checked = false;
        }
        // 面積
        for(i = 0; i < mensekis.length; i++) {
            mensekis[i].selectedIndex = 0;
        }
        // 向き
        for(i = 0; i < mukis.length; i++) {
            mukis[i].checked = false;
        }
    }

    // 検索種別の値を書き換える
    var searchTypeElement = document.getElementById('search_type');
    searchTypeElement.value = searchType;
    shitenCheck();
    form.submit();
}

// search/detail-search
setFlag = false;
function setFormElements() {
    var form  = $('detail-search');
    if(setFlag) return form;

    form = document.forms[1];
    formElements = form.elements;

    areaBukkenTypes = [];
    lineBukkenTypes = [];

    syutokenAreas = [];
    shitenAreas = [];
    areas = [];

    lines = [];

    madoris = [];
    mensekis = [];
    mukis = [];

    for(i = 0; i < formElements.length; i++) {
        if(formElements[i].id) {
            //console.log(formElements[i].id);

            // エリアの物件種別
            if(formElements[i].id.match(/^area-/)) {
                areaBukkenTypes.push(formElements[i]);
            }
            // 沿線の物件種別
            else if(formElements[i].id.match(/^checkbox11-/)) {
                lineBukkenTypes.push(formElements[i]);
            }
            // 首都圏エリア
            else if(formElements[i].id.match(/^adr-/)) {
                syutokenAreas.push(formElements[i]);
            }
            // 支店エリア
            else if(formElements[i].id.match(/^shiten-/)) {
                shitenAreas.push(formElements[i]);
            }
            // 沿線 
            else if( formElements[i].id.match(/^checkbox[3-8]-/) || formElements[i].id.match(/^line-/)) {
                lines.push(formElements[i]);
            }
            // 間取り
            else if(formElements[i].id.match(/^checkbox9-/)) {
                madoris.push(formElements[i]);
            }
            // 面積
            else if(formElements[i].id.match(/^select/)) {
                mensekis.push(formElements[i]);
            }
            // 向き
            else if(formElements[i].id.match(/^checkbox10-/)) {
                mukis.push(formElements[i]);
            }
        }
    }
    areas = syutokenAreas.concat(shitenAreas);
    setFlag = true;
    return form;
}

// search/detail-search
//searchType = 'area';
function toggleSearchType(type) {
    var searchTypeElement = document.getElementById('search_type');
    var elements = $$("input:checked");

    // 表示中のタブをクリックした場合は何もしない
    if(searchType == type) return;

    setFormElements();

    // 検索タイプを切り替える
    searchTypeElement.value = type;
    searchType = type;

    //物件種別のチェックをクリア
    if(type == 'area') {
            $('checkbox11-1').checked = false;
            $('checkbox11-2').checked = false;
            $('checkbox11-3').checked = false;
    }
    else if(type == 'line') {
            $('checkbox1-1').checked = false;
            $('checkbox1-2').checked = false;
            $('checkbox1-3').checked = false;
    }

    //エリア、沿線のチェックをクリア
    for(i in elements) {
        //エリアタブ選択時
        if(type == 'area') {
            if(elements[i].name == "ck_line[]" ) {
                elements[i].checked = false;
            }
        }
        //沿線タブ選択時
        else if(type == 'line') {
            if(elements[i].name == "area[]" || elements[i].name == "adr[]" || elements[i].name == "ward[]" || elements[i].name == "shiten_kubun[]") {
                elements[i].checked = false;
                if (elements[i].disabled) {
                    elements[i].disabled = false;
                }
            }
        }
    }


    // 間取りを有効化
    //if(madoriDisabledFlag) disableMadori(false);
    disableMadori(false);
}

// search/detail-search
madoriDisabledFlag = false;
function shitenCheck() {
    setFormElements();

    var syutokenCheck = false;
    var shitenCheck = false;

    for(i = 0; i < shitenAreas.length; i++) {
        if(shitenAreas[i].checked) {
            shitenCheck = true;
        }
    }

    if(shitenCheck) {
        disableMadori(true);
    }
    else if(madoriDisabledFlag) {
        disableMadori(false);
    }
}

// search/detail-search
// 間取り・プランの値をクリアして、入力可/不可にする
function disableMadori(disabled) {
    setFormElements();

    // 間取り
    for(i = 0; i < madoris.length; i++) {
        //madoris[i].checked = false;
        madoris[i].disabled = disabled;
    }
    // 面積
    for(i = 0; i < mensekis.length; i++) {
        //mensekis[i].selectedIndex = 0;
        mensekis[i].disabled = disabled;
    }
    // 向き
    for(i = 0; i < mukis.length; i++) {
        //mukis[i].checked = false;
        mukis[i].disabled = disabled;
    }
    madoriDisabledFlag = disabled;
}

// search/detail-search
function lineCheck(element) {
    var form = setFormElements();
    var limit = 10;  // 制限件数
    var message1 = "検索する沿線は"+limit+"件まででお願い致します。";
    
    var aryline = new Array();
    var setflg;

    count = 0;
    for(i = 0; i < lines.length; i++) {
        if(lines[i].checked) {
            setflg = false;
            //同じ路線はカウントしない
            for (j = 0; j < aryline.length; j++ ){
                if (aryline[j] == lines[i].value) {
                    setflg = true;
                    break;
                }
            }
            if( setflg == false ){
                count++;
                aryline[j] = lines[i].value;
            }
        }
    }

    if(count > limit) {
        alert(message1);
        element.checked = false;
    }
}

