// Docruzer 연동 페이지 경로
var select_ajax_url = "/common/search/jsp/select_ajax1.jsp";
//var select_ajax_url2 = "/common/search/jsp/select_ajax2.jsp"; /*소카테 사용시 주석 해제*/

// 첫번째 셀렉트
var select2_Obj = null;

// 두번째 셀렉트 
var select3_Obj = null;

// 세번째 셀렉트 
//var select4_Obj = null; /*소카테 사용시 주석 해제*/

var select_cnt = 0;
var select_ajax_request = null;
var select_ajax_prvl = null;

// 결과 select value
var select_ajax_array = null;

// 결과 select option Name
var select_ajax_array2 = null;

var select2_value = "";
var select3_value = "";
var select4_value = "";

// 상위 select value
var select_org_value = "";


function select_ajax_op() {
    q = select_org_value;
    //alert("op : " + q);
    // 처음이 ALL 일 경우
    if(q == "ALL"){ q = ""; }
    
    //alert(q);
    if(select_ajax_request && select_ajax_request.readyState!=0){
        select_ajax_request.abort();
    }

    select_ajax_request = select_ajax_get_object();
    
    // 검색어 자동완성 설정과 동일하게 수정
    if(select_ajax_get_object) {
        //GET Method
        select_ajax_request.open("GET", select_ajax_url + "?q=" + q, true);
        select_ajax_request.onreadystatechange=select_ajax_recieve;
        select_ajax_request.send(null);                 
        
        //POST Method
        //select_ajax_request.open("POST", select_ajax_url);
        //select_ajax_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        //select_ajax_request.onreadystatechange=select_ajax_recieve;
        //select_ajax_request.send("q=" + q);                        
    }
}

function select_ajax_op2() {
    q = select_org_value;

    // 처음이 ALL 일 경우
    if(q == "ALL"){ q = ""; }
    
    //alert(q);
    if(select_ajax_request && select_ajax_request.readyState!=0){
        select_ajax_request.abort();
    }

    select_ajax_request = select_ajax_get_object();
    
    // 검색어 자동완성 설정과 동일하게 수정
    if(select_ajax_get_object) {
        //GET Method
        select_ajax_request.open("GET", select_ajax_url2 + "?q=" + q, true);
        select_ajax_request.onreadystatechange=select_ajax_recieve2;
        select_ajax_request.send(null);                 
        
        //POST Method
        //select_ajax_request.open("POST", select_ajax_url);
        //select_ajax_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
        //select_ajax_request.onreadystatechange=select_ajax_recieve;
        //select_ajax_request.send("q=" + q);                        
    }
}

//request.readyState = 1 : 요청 시작
//request.readyState = 2 : 요청 처리중
//request.readyState = 3 : 요청 처리중
//request.readyState = 4 : 완료
//request.status == 200 : 요청처리하고 아무 문제가 없으면 상태 코드는 200이 된다.

function select_ajax_recieve()
{                         
	if(select_ajax_request.readyState==4 && select_ajax_request.status==200 && select_ajax_request.responseText) {                     
        eval(select_ajax_request.responseText);
        select_ajax_done(myJSONObject.LIST,myJSONObject2.LIST);
    }
}

function select_ajax_recieve2()
{                         
    if(select_ajax_request.readyState==4 && select_ajax_request.status==200 && select_ajax_request.responseText) {                     
        eval(select_ajax_request.responseText);
        select_ajax_done2(myJSONObject3.LIST,myJSONObject4.LIST);
    }
}

function select_ajax_get_object()
{
    var lo_xmlhttp;
    lo_xmlhttp = null;

    try {
        lo_xmlhttp = new ActiveXObject("Msxml2.XMLHTTP")
    } catch(e) {
        try {
            lo_xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(sc) {
            lo_xmlhttp = null;
        }
    }

    if(!lo_xmlhttp && typeof XMLHttpRequest != "undefined") {
        lo_xmlhttp = new XMLHttpRequest();
    }

    return lo_xmlhttp;
}

//response된 값을 받아 화면에 출력하기 위한 처리
function select_ajax_done(obj, obj2) {
    var str = "";
    var i = 0;
    
    if(!obj || obj.length == 0) {
        select_ajax_prvl = 0;
        //결과 없음(ALL만 표시)
        return;
    }
    
    select_ajax_array = obj;   
    select_ajax_array2 = obj2;            
    select_ajax_prvl = select_ajax_array.length;
    
    //select_ajax_remove();
    for(i=0; i<select_ajax_prvl; i++) {
        select_ajax_orgstr = new String(select_ajax_array[i].SELECT);
        select_ajax_orgstr2 = new String(select_ajax_array2[i].SELECT);
        
        // 최상위 ALL이 있으므로 i+1 
        select3_Obj.options[i+1] = new Option(select_ajax_orgstr);
        select3_Obj.options[i+1].value = select_ajax_orgstr2;
        
        if(select3_value == select_ajax_orgstr) select3_Obj.selectedIndex = i+1;                           
    }            
}

//response된 값을 받아 화면에 출력하기 위한 처리
function select_ajax_done2(obj, obj2) {
    var str = "";
    var i = 0;
    
    if(!obj || obj.length == 0) {
        select_ajax_prvl = 0;
        //결과 없음(ALL만 표시)
        return;
    }
    
    select_ajax_array = obj;   
    select_ajax_array2 = obj2;            
    select_ajax_prvl = select_ajax_array.length;
    
    //select_ajax_remove();
    for(i=0; i<select_ajax_prvl; i++) {
        select_ajax_orgstr = new String(select_ajax_array[i].SELECT);
        select_ajax_orgstr2 = new String(select_ajax_array2[i].SELECT);
        
        // 최상위 ALL이 있으므로 i+1 
        select4_Obj.options[i+1] = new Option(select_ajax_orgstr);
        select4_Obj.options[i+1].value = select_ajax_orgstr2;
        
        if(select3_value == select_ajax_orgstr) select3_Obj.selectedIndex = i+1;                           
    }            
}

function initselect2(val1, val2) {
    select2_Obj = document.optionSearchForm.gb_select2;
    select3_Obj = document.optionSearchForm.gb_select3;
    
    select2_value = val1;
    
    if(select2_value != "ALL" && select2_value != ""){
        select_org_value = select2_value;
        initselect3();
    }
}

function initselect3() {
    // select3_obj 초기화
    removeAllOptions(select3_Obj);
    select_ajax_op();
    select_ajax_recieve();
}

function initselect4() {
    // select3_obj 초기화
    /*소카테 사용시 주석 해제*/
    //removeAllOptions(select4_Obj);    
    //select_ajax_op2();
    //select_ajax_recieve2();
}


function changeSelect2() {
    //alert("test1");
    
    select2_Obj = document.optionSearchForm.gb_select1;
    select3_Obj = document.optionSearchForm.gb_select2;
    //select4_Obj = document.optionSearchForm.gb_select3; /*소카테 사용시 주석 해제*/
    
    //removeAllOptions(select4_Obj);
    
    select_org_value = select2_Obj[select2_Obj.selectedIndex].value;
    select_org_value2 = select3_Obj[select3_Obj.selectedIndex].value;
    
    if(select_org_value!="ALL") {
        initselect3();
    } else {
        removeAllOptions(select3_Obj);
        //removeAllOptions(select4_Obj);/*소카테 사용시 주석 해제*/
    }
}

function changeSelect3() {
    select2_Obj = document.optionSearchForm.gb_select1;
    select3_Obj = document.optionSearchForm.gb_select2;
    select4_Obj = document.optionSearchForm.gb_select3;
    
    select_org_value = select3_Obj[select3_Obj.selectedIndex].value;
    
    if(select_org_value!="ALL") {
        initselect4();
    } else {
        removeAllOptions(select4_Obj);
    }            
}

// select 초기화
function removeAllOptions(selectCtrl) {
    var i;      
    
    for (i = selectCtrl.options.length; i > 0; i--) {
        selectCtrl.options[i] = null;
    }    
}
