// bobbishAjax	v1.0 

// use Ajax
var REQ = false;
try {
 REQ = new XMLHttpRequest();
} catch (trymicrosoft) {
 try {
   REQ = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (othermicrosoft) {
   try {
	 REQ = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (failed) {
	 REQ = false;
   }  
 }
}
if (!REQ)
 alert("Error initializing XMLHttpRequest!");

function XMLRequest(method,parameters,url,execute,reqID){
	REQ.open(method, url, true);
	REQ.setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=utf-8');
	if(parameters != ''){
		REQ.setRequestHeader("Content-length", parameters.length);
	}

	// 특정 함수 실행 요청시
	if(execute != '' && reqID != ''){
		REQ.onreadystatechange = function(){
				if (REQ.readyState == 4) {
					if (REQ.status == 200) {
						// 데이터 출력 ID
						eval("document.getElementById('" + reqID + "')").innerHTML = REQ.responseText;
						// 함수 실행 execute
						setTimeout(eval(execute),100);
//						eval(execute)();
					} else
						alert("Ajax Error (" + REQ.status + ")" );
				}
			}
	}
	else{
		if(execute){
			REQ.onreadystatechange = function(){
				if (REQ.readyState == 4) {
					if (REQ.status == 200) {
						// 함수 실행 execute
						setTimeout(eval(execute),100);
					} else
						alert("Ajax Error (" + REQ.status + ")" );
				}
			}
		}
		else{
			REQ.onreadystatechange = function(){
					if (REQ.readyState == 4) {
						if (REQ.status == 200) {
							// 데이터 출력 ID값이 있을경우
							if(reqID){
								eval("document.getElementById('" + reqID + "')").innerHTML = REQ.responseText;
							}
						} else
							alert("Ajax Error (" + REQ.status + ")" );
					}
				}
		}
	}
	REQ.send(parameters);
}

// 기본 실행함수

function updateComponent() {
	if (REQ.readyState == 4) {
		if (REQ.status == 200) {
			document.getElementById("ContentsBody").innerHTML = REQ.responseText;
		} else
			alert("Ajax Error (" + REQ.status + ")" );
	}
}

