/**
 * ajax class
 *@author byuli
 */
function Ajax() {
	var XmlHttp= null;
	var statusSuccessHandler= null;
	var onErrer= null;

	// 기본 에러 핸들러 입력
	onErrer= function (msg){
		try{
			Errer.onScriptErrer(msg);
		}catch(e){
			//alert(msg);
		}
	}

	try {
			if (window.XMLHttpRequest) {
					XmlHttp = new XMLHttpRequest();
					if (XmlHttp.readyState == null) {
							XmlHttp.readyState = 1;
							XmlHttp.addEventListener("load", function () {
									XmlHttp.readyState = 4;
									if (typeof XmlHttp.onreadystatechange == "function"){
											tmpXmlHtp.onreadystatechange();
									}
							}, false);
					}
			} else {
					XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			}
	}
	catch (e) {
	}

	this.openXML =  function (key, method, url, async, uname, pswd) {
		if (XmlHttp != null) {
			function readystatechange() {
				if (XmlHttp.readyState == 4) {
						if (XmlHttp.status == 200) {
								statusSuccessHandler(XmlHttp.responseXML,key);
						} else {
								onErrer("XML 파일을 읽는데 실패하였습니다.");
						}
				}

			}

			if (uname == undefined) {
				XmlHttp.open(method, url, async, uname, pswd);
			} else {
				XmlHttp.open(method, url, async);
			}
			XmlHttp.onreadystatechange = readystatechange; 
		} else {
		}
	}
	this.openTEXT =  function (method, url, async, uname, pswd) {
			if (XmlHttp != null) {
					if (uname == undefined) {
							XmlHttp.open(method, url, async, uname, pswd);
					} else {
							XmlHttp.open(method, url, async);
					}
					XmlHttp.onreadystatechange = function () {
							if (XmlHttp.readyState == 4) {
									if (XmlHttp.status == 200) { 
											statusSuccessHandler(XmlHttp.responseText);
									} else {
											onErrer("TEXT 파일을 읽는데 실패하였습니다.");
									}
							}
					}
			} else {
			}
	}
	this.setStatusSuccessHandler = function (funcname) {
		statusSuccessHandler = funcname;
	}
	this.send = function (content) {
		if (content == undefined){
				XmlHttp.send(null);
		}else{
				XmlHttp.send(content);
		}
	}
	this.setErrerHandler = function (funcname) {
		onErrer= funcname;
	}
	this.setHeader = function (label, value)
	{
			XmlHttp.setRequestHeader(label, value);
	}



}