var SearchLine = function() {};

SearchLine.src_pref = "";
SearchLine.dst_line = "";
SearchLine.dst_station = "";
SearchLine.dst_line_num = 0;

// Update station line list when selected prefecture
SearchLine.changeLineListSync = function(src_pref, dst_line, dst_station) {
	SearchLine.src_pref = src_pref;
	SearchLine.dst_line = dst_line;
	SearchLine.dst_station = dst_station;
    
	var _pref = $(SearchLine.src_pref).value;
	var myAjax = new Ajax.Request("/?act=public_getlinelist", {method: "post", asynchronous:false, parameters: "pref="+_pref});
	
	SearchLine.Callback(myAjax.transport);
}

//コールバック
SearchLine.Callback = function(request) {
    var eval_obj = eval(request.responseText);
    SearchLine._setOptions(eval_obj, SearchLine.dst_line, SearchLine.dst_station);
}

//optionセット
SearchLine._setOptions = function(eval_obj, dst_line, dst_station){
    //一度クリアする
    SearchLine._clearOptions(dst_line);
    SearchLine._clearOptions(dst_station);
    var dst_obj = $(dst_line);
    if (eval_obj) {
        eval_obj.each(
            function(val, idx){
                dst_obj.options[dst_obj.length] = new Option(val.line_name, val.line_cd);
            }
        );
    }

    //SearchLine.dst_line_numが０以外ならその番号に該当する市区町村を表示状態にする
    if(SearchLine.dst_line_num != 0){
        $(SearchLine.dst_line).selectedIndex = SearchLine.dst_line_num;
        SearchLine.dst_line_num = 0;
    }
}

//optionクリア
SearchLine._clearOptions = function(dst_id) {
    var obj = $(dst_id);
    while(obj.options!=null && obj.options.length > 0){
        obj.options[obj.length - 1] = null;
    }
    obj.options[obj.length] = new Option("選択してください", "0", true, false);
}
