function paramEscape(paramValue)
{
//    return encodeURIComponent(paramValue);
    return paramValue;
}

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);
    //alert(submitString);
    return submitString;                                               
}

function xmlHttpPost(actionUrl, submitParameter, resultFunction)
{
    var xmlHttpRequest = false;    
    
    //IEÀÎ°æ¿ì
    if(window.ActiveXObject){
        xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    }else{
        xmlHttpReq = new XMLHttpRequest();
        xmlHttpReq.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:
					eval(resultFunction + "xmlHttpRequest.responseBody);");
				break;
			}
		}
	}
    xmlHttpRequest.send(submitParameter);
}                                    

function xmlHttpPostKorean(actionUrl, submitParameter, resultFunction)
{
    var xmlHttpRequest = false;    
    
    //IEÀÎ°æ¿ì
    if(window.ActiveXObject){
        xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    }else{
        xmlHttpReq = new XMLHttpRequest();
        xmlHttpReq.overrideMimeType('text/xml');
    }    

	xmlHttpRequest.open('POST', actionUrl, true);	
	xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8');

	xmlHttpRequest.onreadystatechange = function() {
		if(xmlHttpRequest.readyState == 4) {
			switch (xmlHttpRequest.status) {
				case 404:
					alert('¿À·ù: ' + actionUrl + 'ÀÌ Á¸ÀçÇÏÁö ¾ÊÀ½');
					break;
				case 500:
					alert('¿À·ù: ' + xmlHttpRequest.responseText);
					break;
				default:
					eval(resultFunction + "xmlHttpRequest.responseText);");
				break;
			}
		}
	}
    xmlHttpRequest.send(submitParameter);
}

/* --------------------------------------------------------------------------------
// ÇÔ¼ö¸í : optionAdd
// ±â´É : selectÀÇ ¸¶Áö¸· Ç×¸ñ¿¡ optionÀ» Ãß°¡ÇÑ´Ù.
// ÆÄ¶ó¹ÌÅÍ : 3°³
//		selName : select box name (¿¹ : document.form.selectName)
//		opValue : optionÀÇ value °ª
//		opText : optionÀÇ text °ª
// ----------------------------------------------------------------------------- */
function optionAdd(selName, opValue, opText){
	var aIdx = eval(selName).options.length;
	var itm = new Option(opText);	
	
	eval(selName).options[aIdx] = itm;
	//alert(opValue);
	//alert(opText);
	eval(selName).options[aIdx].value = opValue;	
	eval(selName).options[aIdx].text = opText;
}

/* --------------------------------------------------------------------------------
// ÇÔ¼ö¸í : optionDel
// ±â´É : selectÀÇ optionÀ» »èÁ¦ÇÑ´Ù.
// ÆÄ¶ó¹ÌÅÍ : 3°³
//		selName : select box name (¿¹ : document.form.selectName)
//		DelStartIndex : »èÁ¦¸¦ ½ÃÀÛÇÏ´Â Ç×¸ñÀÇ index
//		DelCount : »èÁ¦ÇÒ °¹¼ö, 0ÀÌ¸é DelStartIndex¹øÂ° Ç×¸ñºÎÅÍ ¸¶Áö¸·Ç×¸ñ±îÁö Áö¿ò
//					0ÀÌ ¾Æ´Ï¸é ¼±ÅÃµÇ¾î ÀÖ´Â Ç×¸ñ¸¸ »èÁ¦
// ----------------------------------------------------------------------------- */
//¼±ÅÃ ¿É¼ÇÇ×¸ñÀ» Á¦°Å
function optionDel(selName, DelStartIndex, DelCount){	
	var selLength = eval(selName).options.length;	
	if (DelCount == 0) {
		for(var i = selLength; i >= eval(DelStartIndex); i--)
			eval(selName).options[i] = null;
	} else {
		eval(selName).options[eval(selName).selectedIndex]=null;
	}
}

