var self = this;
var xmlHttpReq = null;
var iInterval = 1000;
var blnRequestsEnabled = true;
var iFailed = 0;
var result = ""; // 결과
var resultchk = "0"; // 결과
var loofcnt = 1;


function AjaxUpdate(METHOD, URL, ASYNC, OBJID) {
	var obj = OBJID;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
	    self.xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
	    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (blnRequestsEnabled) {
		try {
			if (!self.xmlHttpReq) {
				PostUpdate();
			} else if (self.xmlHttpReq.readState != 0) {
				self.xmlHttpReq.abort();
			}

			if(METHOD == 'POST') {
				self.xmlHttpReq.open(METHOD, URL, ASYNC);
				self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				self.xmlHttpReq.onreadystatechange = function() {
					
					if (self.xmlHttpReq.readyState == 4) {
						if (self.xmlHttpReq.status == 200) {
							result = self.xmlHttpReq.responseText;
						} else {
							result = "FALSE";
						}
					}
				};

				var aParams = new Array();
				for(var i = 0; i < obj.elements.length; i++) {
					if ((obj.elements[i].type == "radio" && obj.elements[i].checked) || obj.elements[i].type != "radio") {				
						var sParam = encodeURIComponent(obj.elements[i].name);
						sParam += "=";
						sParam += encodeURIComponent(obj.elements[i].value);
						aParams.push(sParam);
					}
					
					if (obj.elements[i].name == "FCKeditor1") {
						if (obj.elements[i].value == fckEditorValue && loopCount < 10) {
							loopCount++;
							functionName = "AjaxUpdate('" + METHOD + "', '" + URL + "', '" + OBJID + "', '" + ASYNC + "')";
							var TimeoutID = setTimeout(functionName, 100);
							return false;
						} else {
							clearTimeout(TimeoutID);
						}
					}
				}
				var sBody = aParams.join("&");
alert(sBody);
				self.xmlHttpReq.send(sBody);
alert(self.xmlHttpReq.responseText);
			} else {
				self.xmlHttpReq.open(METHOD, encodeURI(URL), ASYNC);
				self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
				self.xmlHttpReq.onreadystatechange = function() {
					if (self.xmlHttpReq.readyState == 4) {
						if (self.xmlHttpReq.status == 200) {
							result = self.xmlHttpReq.responseText;

							return result;
						}
					}
				}
				self.xmlHttpReq.send(null);
			}
		}
		catch (oException) {
			iFailed++;
			blnRequestsEnabled = false;
		}
	}
}

function AjaxUpdate_UserActiveInfo(METHOD, URL, ASYNC, OBJID) {
	var self1 = this;
	var xmlHttpReq1 = null;
	var blnRequestsEnabled1 = true;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
	    self1.xmlHttpReq1 = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
	    self1.xmlHttpReq1 = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (blnRequestsEnabled1) {
		try {
			if (!self1.xmlHttpReq1) {
				PostUpdate();
			} else if (self1.xmlHttpReq1.readState != 0) {
				self1.xmlHttpReq1.abort();
			}

			if(METHOD == 'GET') {
				self1.xmlHttpReq1.open(METHOD, encodeURI(URL), ASYNC);
				self1.xmlHttpReq1.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
				self1.xmlHttpReq1.onreadystatechange = function() {
					if (self1.xmlHttpReq1.readyState == 4) {
						if (self1.xmlHttpReq1.status == 200) {
							document.getElementById(OBJID).innerHTML = self1.xmlHttpReq1.responseText;
						}
					}
				};
				self1.xmlHttpReq1.send(null);

				if(self1.xmlHttpReq1.responseText == 'TRUE') {
					alert("정상적으로 처리되었습니다.");
				} else if(self1.xmlHttpReq1.responseText == 'FALSE') {
					alert("실패하였습니다.");
				}
			}
		}
		catch (oException) {
			iFailed++;
			blnRequestsEnabled1 = false;
		}
	}
}

function updatePage_log(METHOD, URL, OBJID) {
	alert("IN");
	var xmlHttpReq = false;
	var self = this;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
	    self.xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
	    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}

	self.xmlHttpReq.open(METHOD, URL, false);
	alert( self.xmlHttpReq );
//	self.xmlHttpReq.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
	self.xmlHttpReq.onreadystatechange = function() {
		if (self.xmlHttpReq.readyState == 4) {
//			if (OBJID != "") {
//				alert(self.xmlHttpReq.responseText);
				document.getElementById(OBJID).innerHTML = self.xmlHttpReq.responseText;
//			}
		}
	}

	self.xmlHttpReq.send(null);
/*
	if(self.xmlHttpReq.responseText == 'TRUE') {
		alert("정상적으로 처리되었습니다.");
	} else if(self.xmlHttpReq.responseText == 'FALSE') {
		alert("실패하였습니다.");
	}
*/
}


function AjaxUpdate(METHOD, URL, ASYNC, OBJID) {
	var obj = OBJID;

	// Mozilla/Safari
	if (window.XMLHttpRequest) {
	    self.xmlHttpReq = new XMLHttpRequest();
	}
	// IE
	else if (window.ActiveXObject) {
	    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (blnRequestsEnabled) {
		try {
			if (!self.xmlHttpReq) {
				PostUpdate();
			} else if (self.xmlHttpReq.readState != 0) {
				self.xmlHttpReq.abort();
			}

			if(METHOD == 'POST') {
				self.xmlHttpReq.open(METHOD, URL, ASYNC);
				self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				self.xmlHttpReq.onreadystatechange = function() {
					
					if (self.xmlHttpReq.readyState == 4) {
						if (self.xmlHttpReq.status == 200) {
							result = self.xmlHttpReq.responseText;
						} else {
							result = "FALSE";
						}
					}
				};

				var aParams = new Array();
				for(var i = 0; i < obj.elements.length; i++) {
					if ((obj.elements[i].type == "radio" && obj.elements[i].checked) || obj.elements[i].type != "radio") {				
						var sParam = encodeURIComponent(obj.elements[i].name);
						sParam += "=";
						sParam += encodeURIComponent(obj.elements[i].value);
						aParams.push(sParam);
					}
					
					if (obj.elements[i].name == "FCKeditor1") {
						if (obj.elements[i].value == fckEditorValue && loopCount < 10) {
							loopCount++;
							functionName = "AjaxUpdate('" + METHOD + "', '" + URL + "', '" + OBJID + "', '" + ASYNC + "')";
							var TimeoutID = setTimeout(functionName, 100);
							return false;
						} else {
							clearTimeout(TimeoutID);
						}
					}
				}
				var sBody = aParams.join("&");

				self.xmlHttpReq.send(sBody);

				if(self.xmlHttpReq.responseText == 'TRUE') {
					alert("정상적으로 처리되었습니다.");
				} else {
					alert("실패하였습니다.");
				}
			} else {
				self.xmlHttpReq.open(METHOD, encodeURI(URL), ASYNC);
				self.xmlHttpReq.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
				self.xmlHttpReq.onreadystatechange = function() {
					if (self.xmlHttpReq.readyState == 4) {
						if (self.xmlHttpReq.status == 200) {
							result = self.xmlHttpReq.responseText;

							return result;
						}
					}
				}
				self.xmlHttpReq.send(null);
			}
		}
		catch (oException) {
			iFailed++;
			blnRequestsEnabled = false;
		}
	}
}
