
function chkAjaBrowser() {
    var a,ua = navigator.userAgent;
    this.bw= { 
      safari    : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124 ,
      konqueror : ((a=ua.split('Konqueror/')[1])?a.split(';')[0]:0)>=3.3 ,
      mozes     : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128 ,
      opera     : (!!window.opera) && ((typeof XMLHttpRequest)=='function') ,
      msie      : (!!window.ActiveXObject)?(!!createHttpRequest()):false 
    }
    return (this.bw.safari||this.bw.konqueror||this.bw.mozes||this.bw.opera||this.bw.msie)
}

function createHttpRequest() {
    if(window.ActiveXObject){
         //Win e4,e5,e6¿ë
        try {
            return new ActiveXObject("Msxml2.XMLHTTP") ;
        } catch (e) {
            try {
                return new ActiveXObject("Microsoft.XMLHTTP") ;
            } catch (e2) {
                return null ;
            }
        }
    } else if(window.XMLHttpRequest){
         //Win Mac Linux m1,f1,o8 Mac s1 Linux k3¿ë
        return new XMLHttpRequest() ;
    } else {
        return null ;
    }
}

function sendRequest(callback,data,method,url,async,sload,user,password) {
    var oj = createHttpRequest();
    if( oj == null ) return null;

    var sload = (!!sendRequest.arguments[5])?sload:false;
    if(sload || method.toUpperCase() == 'GET')url += "?";
    if(sload)url=url+"t="+(new Date()).getTime();

    var bwoj = new chkAjaBrowser();
    var opera	  = bwoj.bw.opera;
    var safari	  = bwoj.bw.safari;
    var konqueror = bwoj.bw.konqueror;
    var mozes	  = bwoj.bw.mozes ;

    if(opera || safari || mozes){
        oj.onload = function () { callback(oj); }
    } else {
    
        oj.onreadystatechange =function () 
        {
            if ( oj.readyState == 4 ){
                callback(oj);
            }
        }
    }

    //data = uriEncode(data)

    if(method.toUpperCase() == 'GET') {
        url += data
    }

    oj.open(method,url,async,user,password);

    setEncHeader(oj)

    //µð¹ö±×
    //alert("////sendRequest Check!!//// \n data:"+data+" \n method:"+method+" \n url:"+url+" \n async:"+async);
    
    oj.send(data);

    function setEncHeader(oj){

        var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=euc-kr';
        if(!window.opera){
            oj.setRequestHeader('Content-Type',contentTypeUrlenc);
        } else {
            if((typeof oj.setRequestHeader) == 'function')
                oj.setRequestHeader('Content-Type',contentTypeUrlenc);
        }	
        return oj
    }

    //URL ÀÎÄÚµù
    function uriEncode(data){

        if(data!=""){
            var encdata = '';
            var datas = data.split('&');
            for(i=1;i<datas.length;i++)
            {
                var dataq = datas[i].split('=');
                encdata += '&'+encodeURIComponent(dataq[0])+'='+encodeURIComponent(dataq[1]);
            }
        } else {
            encdata = "";
        }
        return encdata;
    }


    return oj
}

function $() { 
    var elements = new Array(); 
    for (var i = 0; i < arguments.length; i++) { 
        var element = arguments[i]; 
        if (typeof element == 'string') 
            element = document.getElementById(element); 
        if (arguments.length == 1) 
            return element; 
        elements.push(element); 
    } 
    return elements; 
}
