    /**
	 * XMLHttpRequest 객체를 생성한다.
	 * @return lm_oReqHttp : XMLHttpRequest 객체
	*/
    function newXMLHttpRequest() {
        var lm_oReqHttp;   
        
        if (window.ActiveXObject) {	 // IE
            try {
                lm_oReqHttp = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (ex) {
                try {
                    lm_oReqHttp =  new ActiveXObject("Microsoft.XMLHTTP"); //IE 5.0 이전 버전
                } catch (ex1) {               
                    lm_oReqHttp =  null;
                }
            }
        } else if (window.XMLHttpRequest){  // IE 이외 브라우져
            try {
                lm_oReqHttp =  new XMLHttpRequest();
            } catch (ex) {
                lm_oReqHttp =  null;
            }
        }
        
        if (lm_oReqHttp == null) viewErrMsg("Your browser is not supported.");   //XMLHttpRequest 생성 실패
        
        return lm_oReqHttp;
    }


    /*************************************************************************************
	 * XMLHttpRequest 객체를 생성하여 서버처리를 호출한 후 상태변화(readyState와 status)를 체크하여 
	 * 완료되면 Callback 메소드를 호출한다.
	 *
	 * @param1 pm_sMethod : 데이터전송방식, "GET" or "POST" 반드시 대문자
	 * @param2 pm_sAppUrl : 호출할 어플리케이션 URL
	 * @param3 pm_sSendParam : 서버로 전송할 파라미터목록, "usrno=100&id=minimum5" 와 같은 형태, GET 방식일 경우 null을 넘기면 되나 GET방식을 쓰지 말것.
	 * @param4 pm_oCallBackFunc : callback 메소드명. String이 아님에 주의할것. ()를 제외한 함수명을 넘긴다.
	 * @return void
	**************************************************************************************/
    function startHttpStatus(pm_sMethod, pm_sAppUrl, pm_sSendParam, pm_oCallBackFunc) {
        var lm_oXmlHttp = newXMLHttpRequest();               //XMLHttpRequest 생성
        
   	    lm_oXmlHttp.open(pm_sMethod, pm_sAppUrl, true);  //동기 방식은 지원하지 않는 브라우져가 있으므로 true로 고정한다.
   	    
        lm_oXmlHttp.onreadystatechange = function() {
            
            if (lm_oXmlHttp.readyState == 4) {   
                if (lm_oXmlHttp.status == 200) {       
                    if(pm_oCallBackFunc != null) pm_oCallBackFunc(lm_oXmlHttp);              //callback 함수 호출
                } else {
                    viewErrMsg("status code : " + lm_oXmlHttp.status + ", " + "The action failed."); //에러메시지 호출
                }
            }
        }
        
        var lm_sConType = "application/x-www-form-urlencoded; charset=UTF-8";
        lm_oXmlHttp.setRequestHeader("Content-Type", lm_sConType);
        lm_oXmlHttp.send(pm_sSendParam);  //원래 위치는 open메소드 호출 다음이어야 하나, 브라우져들의 버그(onreadystatechange에 이벤트 발생 않함.)로 인해 여기에 위치한다.
    }

