<!--StartFragment-->//XMLHTTP 객체를 생성 하는 함수
function getObjXMLHTTP(){
        var xmlhttp = false;

        if(window.ActiveXObject){
                try {
                        xmlhttp = new ActiveXObject(\"Msxml2.XMLHTTP\");
                }catch(e) {
                        try {
                                xmlhttp = new ActiveXObject(\"Microsoft.XMLHTTP\");
                        }catch(e2) {
                                xmlhttp = false;
                        }
                }
        }else if(window.XMLHttpRequest){
                xmlhttp = new XMLHttpRequest();
        }else{
                xmlhttp = false;
        }

        return xmlhttp;
}

//AJAX 통신을 하기 위한 객체를 생성
function getObjAJAX(){


        this.send = function(callbackFunction){
                var objXMLHTTP = getObjXMLHTTP();

                //http 호출 방법 결정 생략시에는 GET 으로 동작
                this.method = (this.method == undefined)? \"GET\" : this.method.toUpperCase();

                //전달하고자 하는 인자값에 대한 처리
                if(typeof this.queryString == \"undefined\") this.queryString = null;

                //GET 방식일 경우는 url 뒤에 파라메터로 값을 넘기도록 처리
                //send 시에는 null 값만 호출
                if(this.method == \"GET\" && !!(this.queryString)){
                        this.url += ((this.url.indexOf(\"?\") > 0)? \"\" : \"?\") + this.queryString;
                        this.queryString = null;
                }
                
                //open 매소드 호출, http 인증 부분은 생략하였음
                objXMLHTTP.open(this.method, this.url, true);
                
                objXMLHTTP.send(this.queryString);
                
                //XMLHTTP 요청의 상태가 변경되면 아래 함수를 호출함
                objXMLHTTP.onreadystatechange = function(){
                        if (objXMLHTTP.readyState != 4) {
                                //요청이 대기중일 경우의 처리
                        }else{
                                //모든 응답이 완료되었을때의 xml 결과를
                                //콜백 함수의 인자로 호출
                                if (objXMLHTTP.status == 200) {
                                        callbackFunction(objXMLHTTP.responseXML);
                                        
                                        delete ojbXMLHTTP;
                                }
                        }
                }
        }
}


//실제 AJAX 객체를 호출하여 사용하는 함수 구현
function useAJAX(){
        var ojbAJAX = new getObjAJAX();
        
        objAJAX. url = \"호출하고자 하는 URL\";
        objAJAX.queryString = \"val=123&data=abc\"//전달하고자 하는 인자 값들
        objAJAX.method = \"POST\"        
        
        objAJAX.send(callbakfunc);        //콜백으로 호출할 함수 여기서는 callbackfunc() 실행
}

function callbakfunc(responseAJAX){
        //AJAX 의 응답을 처리할 콜백 함수의 실제 구현
        .
        .
        .
}