/**
	ÀÛ¼ºÀÏ : 2007-02-06
	ÀÛ¾÷ÀÚ : ÀÌµÎÈ¯
	³»  ¿ë : Ajax
*/

var Ajax = { xmlRequest:null };

Ajax.initRequest = function(){
	var tempRequest;
	try{
		tempRequest = new ActiveXObject('Msxml2.XMLHTTP')
	}catch(e){
		try{
			tempRequest = new ActiveXObject('Microsoft.XMLHTTP');
		}catch(e2){
			try{
				tempRequest = new XMLHttpRequest();
			}catch(e3){
				tempRequest = false;
			}
		}
	}
	Ajax.xmlRequest = tempRequest;
}

Ajax.initRequest();

Ajax.checkBrowser = function(){
	var name = navigator.appName;
	var version = navigator.appVersion;
	var IE  = (name.indexOf("Explorer") > -1) ? true : false;
	var Opera = (name.indexOf("Opera") > -1) ? true : false;
	var Mozilla = (name.indexOf("Netscape") > -1) ? true : false;
	var Safari = (name.indexOf("Safari") > -1) ? true : false;

	return {name:name, version: version, IE:IE, Opera:Opera, Mozilla:Mozilla, Safari:Safari};
}

Ajax.broweser = Ajax.checkBrowser();

Ajax.callBack = function(xmlReq, return_type, callBack){
	if(return_type == "xml"){
		callBack(xmlReq.responseXml);
	}else{
		callBack(xmlReq.responseText);
	}
}

Ajax.send = function(send_info){
	var xmlReq = Ajax.xmlRequest;

	if(send_info.param != null && send_info.param != ""){
		send_info.param = encodeURI(send_info.param);

		if(send_info.method.toUpperCase() == 'GET'){
			send_info.url += "?" + send_info.param + "&time_cache=" + (new Date()).getTime();
		}else{
			send_info.url += "?time_cache=" + (new Date()).getTime();
		}
	}

	xmlReq.open(send_info.method, send_info.url, send_info.async);

	var contentTypeUrlenc = "application/x-www-form-urlencoded; charset=UTF-8";

	if(!Ajax.broweser.Opera){
		xmlReq.setRequestHeader("Content-Type", contentTypeUrlenc);
	}else{
		if((typeof xmlReq.setRequestHeader) == "function")
			xmlReq.setRequestHeader("Content-Type", contentTypeUrlenc);
	}

	if(Ajax.broweser.Opera || Ajax.broweser.Safari || Ajax.broweser.Mozilla){
		xmlReq.onload = function (){
							Ajax.callBack(xmlReq, send_info.return_type, send_info.callBack);
						};
	}else{
		xmlReq.onreadystatechange = function(){
							if(xmlReq.readyState == 4)
								Ajax.callBack(xmlReq, send_info.return_type, send_info.callBack);
						};
	}

	xmlReq.send(send_info.param);
}

/**
 * XmlHttpRequest¸¦ ÅëÇÑ Åë½Å
 * url : È£ÃâÇÒ url
 * method : Àü¼Û¹æ½Ä
 * param : &¸¦ »« ÆÄ¶ó¹ÌÅÍ ¼³Á¤, Àü´ÞÇÒ ÆÄ¶ó¹ÌÅÍ ¾øÀ¸¸é ""·Î ÇÑ´Ù.
 * async : ºñµ¿±â¹æ½Ä - true, false
 * cb_func : ÄÝ¹éÆã¼Ç - functionÅ¸ÀÔ ±×´ë·Î ³Ñ°ÜÁØ´Ù. ÄÝ¹éÆã¼ÇÀÇ ÀÎÀÚ´Â ¹ÝÈ¯°ªÀ» ¹Þ°Ô ÇÔ
 * return_type : ÄÝ¹éÆã¼Ç¿¡¼­ ¹ÞÀ» µ¥ÀÌÅÍ Å¸ÀÔ text ¶Ç´Â xml
 * ¸ðµç°ªÀº ¹Ýµå½Ã ¼³Á¤ÇØÁØ´Ù.
 */
function fn_getValueByAjax(url, method, param, async, cb_func, return_type){
	Ajax.send({
		url:url,
		method:method,
		param:param,
		async:async,
		callBack:cb_func,
		return_type:return_type
	});
}

