/******************************************************** 
   ÆÄÀÏ¸í : lib.ajax.js
   ¼³  ¸í : ajax Åë½ÅÀ» À§ÇÑ ½ºÅ©¸³Æ®
   ÀÛ¼ºÀÚ : Àå¿¬È£ 
   ÀÛ¼ºÀÏ : 2008.09.11 
   ¼öÁ¤ÀÏ : 2008.09.11 
*********************************************************/

function paramEscape(paramValue) {
    return encodeURIComponent(paramValue);
}

/**
	ÇÔ¼ö¸í : formData2QueryString
	¼³  ¸í : form ¿¡ ¼±¾ðµÈ °ªµéÀ» Ajax¸¦ À§ÇÑ ÆÄ¶ó¹ÌÅÍ°ªÀ¸·Î º¯°æ
	ÀÎ  ÀÚ : form¿¡ ¼±¾ðµÈ ¸ðµç °ªµé
	¸®  ÅÏ : Äõ¸®È­µÈ ÀÎÀÚ°ª
	ÇÊ ¼ö : ÇÊ¼ö
	»ç¿ë¹ý :		
 */	
function formData2QueryString(docForm) {
   var submitString = '';
   var formElement = '';
   var lastElementName = '';

   for(i = 0 ; i < docForm.elements.length ; i++)
   {
     formElement = docForm.elements[i];
     switch(formElement.type)
     {
        case 'text' :
        case 'select-one' :
        case 'hidden' :
        case 'password' :
        case 'textarea' :
           submitString += formElement.name + '=' + paramEscape(formElement.value) + '&';
           break;
        case 'radio' :   
           if(formElement.checked)
           {
             submitString += formElement.name + '=' + paramEscape(formElement.value) + '&';
           }
           break;
        case 'checkbox' :   
           if(formElement.checked) 
           {
             if(formElement.name = lastElementName)
             {
                if(submitString.lastIndexOf('&') == submitString.length - 1)
                {
                   submitString = submitString.substring(0, submitString.length - 1);
                }
                submitString += ',' + paramEscape(formElement.value);
             }
             else
             {
                submitString += formElement.name + '=' + paramEscape(formElement.value); 
             }
             submitString += '&';
             lastElementName = formElement.name;
           }
           break; 
     }                                                                            
   }
   submitString = submitString.substring(0, submitString.length - 1);
   //document.all("result").value = submitString;

   return submitString;                               
}

/**
	ÇÔ¼ö¸í : xmlHttpPost
	¼³  ¸í : Action À¸·Î xmlHttp Åë½Å
	ÀÎ  ÀÚ : url, queryString(ÆÄ¶ó¹ÌÅÍ), ¼º°ø½Ã ½ÇÇàµÉ ÇÔ¼ö¸í, ¸®ÅÏÇÒ °ª ÁöÁ¤(xml,String, json)
	¸®  ÅÏ : Action È£Ãâ
	ÇÊ ¼ö : ÇÊ¼ö		
	»ç¿ë¹ý : 
		xmlHttpPost('/rp/cm/usGoodsType_prc_00.do', document.form, 'okFunction', '');
 */	
function xmlHttpPost(actionUrl, submitParameter, resultFunction, actionType) {
   var xmlHttpRequest = false;

   //IEÀÎ°æ¿ì
   if(window.ActiveXObject)
   {
       xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
   }
   else
   {       
     xmlHttpRequest = new XMLHttpRequest();
     xmlHttpRequest.overrideMimeType('text/xml');
   }   

   xmlHttpRequest.open('POST', actionUrl, true);  

   xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
   
   xmlHttpRequest.onreadystatechange = function() {       
     if(xmlHttpRequest.readyState == 4)
     {
        switch (xmlHttpRequest.status) 
        {        
           case 404:
             alert('¿À·ù: ' + actionUrl + 'ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½');
             break;
          case 500:
             alert('¿À·ù: ' + xmlHttpRequest.responseText);
             break;
          default:          
            if(actionType == 'xml') {
                eval(resultFunction + '(xmlHttpRequest.responseXML);');
            }else{
            	eval(resultFunction + '(xmlHttpRequest.responseText);');       					
            }
             break;     
        }        
     }
   }

   xmlHttpRequest.send(submitParameter);             
}

/**
	ÇÔ¼ö¸í : evalFunc
	¼³  ¸í : Action ¿¡¼­ json Çü½ÄÀ¸·Î ¸®ÅÏµÈ °ªÀ» ¿ÀºêÁ§Æ®·Î º¯°æ(json ¸®ÅÏ½Ã¸¸ »ç¿ë)
	ÀÎ  ÀÚ : xmlHttpRequest.responseText
	¸®  ÅÏ : json
	ÇÊ ¼ö : 		
	»ç¿ë¹ý : 
		evalFunc(result);
 */	
function evalFunc(request) {
	return eval('('+request+')');
}

//---------------------------------
// XML À» ÅëÇÑ JSP °á°ú°ª ¾ò¾î¿À±â
//---------------------------------
function xmlHttpRequestToXmlArray(pageurl)
{
	//*******xml°ú xsl»Ñ¸®±â*************************/
		var myXml;
		var xmlroot;
		try
		{
 			myXml = new ActiveXObject("Microsoft.xmldom");
 			myXml.async=false;
 			myXml.validateOnParse = true;
 			myXml.load(pageurl);

 			if (myXml.parseError.errorCode != 0) alert(myXml.parseError.reason);
		}
		catch ( exception )
		{
			alert("ActiveX Object ¿¡·¯!");
			return;
		}
 		xmlroot=myXml.documentElement;

		var elements = new Array();
		for (var i=0; i<xmlroot.childNodes.length; i++) {
			var node = xmlroot.childNodes.item(i);
			if (node.nodeType == "1")
				elements[i]	= [node.nodeName, node.text];
		}
		return elements;

}

function getXmlArrayValue(src, name)
{
	if( src == null || src == '' || src.length == 0 ) return '';

	var data = '';
	for( var i = 0; i < src.length ; i++ )
	{
		if( src[i][0] == name ) return src[i][1];
	}

	return data;
}