var bro = retBrowser();

function retBrowser() 	{
	var ua=navigator.userAgent.toLowerCase();

	if ((typeof document.implementation!='undefined')&&(typeof document.implementation.createDocument!='undefined')&&(typeof HTMLDocument!='undefined')) {
		HTMLElement.prototype.removeNode=function(){
			this.parentNode.removeChild(this);
		}
		return 'mozilla';
	} else if (ua.indexOf("firefox")!=-1) {
		return 'firefox';
	} else if ( ua.indexOf("safari")!=-1) {
		return 'safari';
	} else if (typeof window.opera!='undefined') {
		return 'opera';
	} else if (navigator.platform.indexOf("Mac")!=-1) {
		return 'mac';
	} else {
		return 'ie';
	}
}

//URI 인코딩 헤더 설정
function setEncHeader(oj){
	var contentTypeUrlenc = 'application/x-www-form-urlencoded; charset=UTF-8';
	if(!window.opera){
		oj.setRequestHeader('Content-Type',contentTypeUrlenc);
	} else {
		if((typeof oj.setRequestHeader) == 'function')
			oj.setRequestHeader('Content-Type',contentTypeUrlenc);
	}	
	return oj
}

function uriEncode(data){
	if(data!=""){
		var encdata = '?a=1';// add by wq 
		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;
}


var Ajax = {
	method : "get",
	async : true,

	setMethod : function (_val) { this.method = _val; },
	
	createRequest : function () 
	{ 
		if(window.ActiveXObject) 
		{ 
			try 
			{ 
				return new ActiveXObject("Msxml2.XMLHTTP") ; 
			} 
			catch (e) 
			{ 
				try 
				{ 
					return new ActiveXObject("Microsoft.XMLHTTP") ; 
				} 
				catch (e2) 
				{ 
					return null ; 
				} 
			} 
		} 
		else if(window.XMLHttpRequest) 
		{ 
			return new XMLHttpRequest() ; 
		} 
		else 
		{
			//alert("window.XMLHttpRequest Error!!!");
			return null ; 
		} 
	},

	callback : function (_obj) { 
		return obj.responseText; 
	},

	sendRequest : function (_url, _data, _callback) 
	{
		var xmlhttp = this.createRequest();
		if (!xmlhttp) 
		{ 
			return null; 
		}

		//URL 인코딩
		_data = uriEncode(_data)
		if(this.method.toUpperCase() == 'GET') 
		{
			_url += _data;
		}

		if(bro == 'opera' || bro == 'safari' || bro == 'mozilla')
		{
			xmlhttp.onload = function () { _callback(xmlhttp); }
		}
		else 
		{
			xmlhttp.onreadystatechange = function () 
			{
				if (xmlhttp.readyState == 4 )
				{
					_callback(xmlhttp);
					xmlhttp = null;
					return;
				}
			}
		}

		xmlhttp.open(this.method, _url, this.async, '', '');
		setEncHeader(xmlhttp);
		xmlhttp.send(_data);

		return xmlhttp;
	}
}
