//kAjax´Â PHPSCHOOL¿¡ ¿Ã¶ó¿Â ÀÚ·á¸¦ Åä´ë·Î Â«»ÍµÇ¾îÀÖ½À´Ï´Ù.
//ÀÌ ¼Ò½º¿¡ ´ëÇÑ ÀúÀÛ±ÇÀÌ Àú¿¡°Ô ¾øÀ¸´Ï ¹®ÀÇ´Â »ç¾çÇÕ´Ï´Ù.

function kAjax(){
	var xmlHttp = null;
	var a,ua=navigator.userAgent;
	var isIE = false;

	// - naver (ºí·°)ulog ´Ô jsAJAX Âü°í
	this.browser={
		safari : ((a=ua.split('AppleWebKit/')[1])?a.split('(')[0]:0)>=124,
		moz : ((a=ua.split('Gecko/')[1])?a.split(" ")[0]:0) >= 20011128,
		opera : (!!window.opera) && ((typeof XMLHttpRequest)=='function')
		}

	this._ActiveXObject = function(axarray){
		var returnValue;
		for (var i = 0; i < axarray.length; i++){
			try{ 
				returnValue = new ActiveXObject(axarray[i]);
				this.isIE = true;
				break;
				}
			catch (ex){
				}
			}
		return returnValue;
		}

	this.execute = function(Method, Url, Param, eFunction, DocId){
		if(window.XMLHttpRequest) {
			xmlHttp=new XMLHttpRequest();
			}
		else if(window.ActiveXObject) {
			xmlHttp = this._ActiveXObject(["Microsoft.XMLHTTP","Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP"]);			
			}
		else{
			xmlHttp=null;
			}

		xmlHttp.open(Method,Url,true);  //ºñµ¿±â½Ä

		xmlHttp.setRequestHeader("Content-type", Method == 'POST' ? "application/x-www-form-urlencoded" : "text/xml"); 
		xmlHttp.setRequestHeader("Cache-Control", "no-cache"); 
		xmlHttp.setRequestHeader("Pragma", "no-cache"); 
		xmlHttp.setRequestHeader("Referer", Url);

		
//		alert(Method);
//		alert(Param);
		if(this.browser.opera || this.browser.safari || this.browser.moz) {
			xmlHttp.onload=function() {
				var result = xmlHttp; //DOM°´Ã¼ »ç¿ëÀ» À§ÇØ
				
				eval(eFunction +'(result,DocId);');

//				eFunction(xmlHttp);
				}
			}
		else{
			xmlHttp.onreadystatechange = function() {
				if (xmlHttp.readyState == 4){
//					eFunction(xmlHttp);
					var result = xmlHttp; //DOM°´Ã¼ »ç¿ëÀ» À§ÇØ
					eval(eFunction +'(result,DocId);');
					}
				}
			}
		
		xmlHttp.send(Param);
		}
}

function GetParan(f){
    return FormToData(f);
}


function FormToData(f,str){

	var count = f.elements.length;
	var element;
	var fpData = ""; //Æûµ¥ÀÌÅ¸
	if(str){
		eval(str); //checkbox,radio ¹è¿­°ª
		}

	for (i = 0; i < count; i++) {
		element = f.elements[i];
		 if (element.tagName.toLowerCase() == "input" || 
			 element.tagName.toLowerCase() == "textarea" ||
			 element.tagName.toLowerCase() == "button" ||
			 element.tagName.toLowerCase() == "submit") {
			if(element.name){
				fpData += element.name + "=" + encodeURIComponent(element.value) + "&";
				}
			}
		else if( element.tagName.toLowerCase() == "checkbox" ){
			if(element.checked == true){
				fpData += element.name + "=checked&";
				}
			}

		else if (element.tagName.toLowerCase() == "radio") {
			radioCount = element.children.length;
			for (j = 0; j < radioCount; j++) {
				radioChild = element.children[j];
				if (radioChild.checked == true) {
					fpData += element.name + "=" + element.name + ":" + j + "&";
					}
				}
			}

		else if (element.tagName.toLowerCase() == "select") {
			selectCount = element.children.length;
			for (j = 0; j < selectCount; j++) {
				selectChild = element.children[j];
				if ((selectChild.tagName.toLowerCase() == "option") && (selectChild.selected == true)) {
					fpData += element.name + "=" + selectChild.value + "&";
					}
				}
			}
		}
	return fpData;
}
function getElementTextNS(prefix, local, parentElem, index) {
	var result = "";
	if(prefix && kajax.isIE)	result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	else	result = parentElem.getElementsByTagName(local)[index];
	if(result)
		if (result.childNodes.length > 1) return result.childNodes[1].nodeValue;
		else return result.firstChild.nodeValue;		
	else return "n/a";


//xmlDoc.getElementsByTagName("company")[0].getElementsByTagName("employee")[0].getAttribute("age"));
}


//var kajax = new kAjax();

/*
var doc = XmlDocument.create();
doc.loadXML( "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
   "<root>" +
      "<test name=\"Test 1\"/>" +
      "<test name=\"Test 2\"/>" +
   "</root>");

var testEls = doc.getElementsByTagName("test");
for (var i = 0; i < testEls.length; i++)
   alert(tests[i].getAttribute("name"));

*/
