
//********************************************************//
//	XMLHttpRequest
//  ÀÛ¼ºÀÚ : Á¤º´ÅÂ
//  ÀÛ¼ºÀÏ : 2007-01-27
//********************************************************//

var REQ;

// newXMLHttpRequest()
// »õ·Î¿î ¸®Äù½ºÆ® »ý¼º
function newXMLHttpRequest () {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP"); 
		} catch (e1) {
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
			}
		}
	}
	return xmlreq;
}

// sendRequest(method,url,param)
// ¸®Äù½ºÆ® ¿äÃ»
function sendRequest(method,url,param) {
	REQ = newXMLHttpRequest();
	REQ.open(method, url, true);
	REQ.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	REQ.send(param);
}

	// sendRequestHandler(method,url,param,handler)
	// ¸®Äù½ºÆ® ¿äÃ» ÈÄ ¿Ï·áµÇ¸é ÁöÁ¤ÇÑ ÇÔ¼ö È£Ãâ
function sendRequestHandler (method,url,param,handler) {
	REQ = newXMLHttpRequest();
	REQ.onreadystatechange = handler;
	REQ.open(method, url, true);
	REQ.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	REQ.send(param);
}


// sendRequestfunction(method,url,param,func)
// ¸®Äù½ºÆ® ¿äÃ» ÈÄ ¿Ï·áµÇ¸é processRequest ÇÔ¼ö¸¦ ÅëÇØ ÁöÁ¤µÈ ÇÔ¼ö È£Ãâ
function sendRequestFunction (method,url,param,func) {
	REQ = newXMLHttpRequest();
	REQ.onreadystatechange = function() {processRequestLocal(func)};
	REQ.open(method, url, true);
	REQ.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	REQ.send(param);
}

// sendRequestHandler(method,url,param,handler)
// sendRequestfunction ÇÔ¼öÀÇ ¸®Äù½ºÆ® ¿äÃ»ÀÌ ¿Ï·áµÇ¸é ÁöÁ¤µÈ ÇÔ¼ö È£Ãâ
function processRequestLocal(func) {
	if (REQ.readyState == 4) {
		if (REQ.status == 200) {
			func();
		} else {
			alert("There was a problem retrieving the XML data:\n" +
			REQ.statusText);
		}
	}
}