/************************************************ 

    Ajax Á¦¾î¸¦ À§ÇÑ Å¬·¡½º 

************************************************/ 


var AJAX = 
{ 
    XmlHttp: null, 

    create : function () 
    { 
        try { 
                if ( window.XMLHttpRequest ) 
                { 
                    AJAX.XmlHttp = new XMLHttpRequest(); 
            
                    // ÀÏºÎÀÇ ¸ðÁú¶ó ¹öÀüÀ»Àº readyState property, 
                    // onreadystate event¸¦ Áö¿øÇÏÁö ¾ÊÀ¸¹Ç·Î. - from xmlextrs 
 
                    if ( this.XmlHttp.readyState == null ) 
                    { 
                        this.XmlHttp.readyState = 1; 

                        this.XmlHttp.addEventListener( "load", function () 
                        { 
                            this.XmlHttp.readyState = 4; 

                            if ( typeof this.XmlHttp.onreadystatechange == "function" ) { tmpXmlHtp.onreadystatechange(); } }, false); 
                        } 
                    } 
                    else 
					{ 
						AJAX.XmlHttp = new ActiveXObject( "Microsoft.XMLHTTP" ); 
					} 

                } 
                catch (e) 
                { 
                        alert( "ºê¶ó¿ìÀú°¡ AJAX ¸¦ Áö¿øÇÏÁö ¾Ê³×¿ä.." ); 
                } 
        }
} 


// XML ¹æ½ÄÀ¸·Î ÀÐ±â 

AJAX.openXML =  function ( method, url, async, uname, pswd ) 
{ 
        if ( AJAX.XmlHttp != null ) 
        { 
                if ( uname == undefined )    { AJAX.XmlHttp.open(method, url, async, uname, pswd); } 
                else                        { AJAX.XmlHttp.open(method, url, async); } 

                AJAX.XmlHttp.onreadystatechange = function () 
                { 
                        if ( AJAX.XmlHttp.readyState == 4 ) 
                        { 
                                if ( AJAX.XmlHttp.status == 200 ) { AJAX.statusSuccessHandler(AJAX.XmlHttp.responseXML.xml); }  // 200 : ¼º°ø 
                                else 
                                { 
                                    AJAX.statusErrorHandler();  
                                    alert( "ÀÐ±â½ÇÆÐ" ); 
                                } 
                        } 
                } 
        } 
        else { alert ( "¿ÀºêÁ§Æ® »ý¼º½ÇÆÐ" ); } 
} 


// Text ¹æ½ÄÀ¸·Î ÀÐ±â 

AJAX.openText =  function ( method, url, async, uname, pswd ) 
{ 
        if ( AJAX.XmlHttp != null ) 
        { 
                if ( uname == undefined )    { AJAX.XmlHttp.open(method, url, async, uname, pswd); } 
                else                        { AJAX.XmlHttp.open(method, url, async); } 

                AJAX.XmlHttp.onreadystatechange = function () 
                { 
                        if ( AJAX.XmlHttp.readyState == 4 ) 
                        { 
                                if ( AJAX.XmlHttp.status == 200 ) { AJAX.statusSuccessHandler( AJAX.XmlHttp.responseText ); }  // 200 : ¼º°ø 
                                else 
                                { 
                                        AJAX.statusErrorHandler(); 
                                        alert( "ÀÐ±â½ÇÆÐ" ); 
                                } 
                        } 
                } 
        } else { alert ( "¿ÀºêÁ§Æ® »ý¼º½ÇÆÐ" ); } 
} 


AJAX.send = function ( content ) 
{ 
                if ( content == undefined )    { AJAX.XmlHttp.send( null ); } 
                else                        { AJAX.XmlHttp.send( content ); } 
} 


AJAX.setOnReadyStateChange = function ( funcname ) 
{ 
                if ( AJAX.XmlHttp )        { AJAX.XmlHttp.onreadystatechange = funcname; } 
                else                    { alert ( "¿ÀºêÁ§Æ® »ý¼º½ÇÆÐ" ); } 
} 


// status 200 ÀÏ ¶§ Ã³¸® ÇÔ¼ö 
AJAX.statusSuccessHandler = function ( data ) 
{ 
    alert( data ); 
} 


AJAX.setStatusSuccessHandler = function ( funcname ) 
{ 
    AJAX.statusSuccessHandler = funcname; 
} 


// status 200 ÀÏ ¶§ ±âº» Ã³¸® ÇÔ¼ö 
// setStatusSuccessHandler() ·Î ´ëÃ¼ °¡´É 

AJAX.statusErrorHandler = function ( status ) 
{ 
    AJAX.rtnText = AJAX.XmlHttp.responseText; 
} 


AJAX.setStatusSuccessHandler = function ( funcname ) 
{ 
    AJAX.statusSuccessHandler = funcname 
} 


AJAX.setStatusErrorHandler = function ( funcname ) 
{ 
    AJAX.statusErrorHandler = funcname 
} 


AJAX.setRequestHeader = function ( label, value ) 
{ 
    AJAX.XmlHttp.setRequestHeader( label, value ); 
} 