
var Try = {
		  these: function() {
		    var returnValue;
		
		    for (var i = 0; i < arguments.length; i++) {
		      var lambda = arguments[i];
		      try {
		        returnValue = lambda();
		        break;
		      } catch (e) {}
		    }
		
		    return returnValue;
		  }
		}
var Ajax = {
			  getTransport: function() {
			    return Try.these(
			      function() {return new ActiveXObject('Msxml2.XMLHTTP')},
			      function() {return new ActiveXObject('Microsoft.XMLHTTP')},
			      function() {return new XMLHttpRequest()}
			    ) || false;
			  }
			}

function paramEscape(paramValue)
{
	return escape(paramValue); // À¯´ÏÄÚµå(16Áø¼ö)·Î ÀÎÄÚµù
//	return encodeURIComponent(paramValue); // utf-8·Î ÀÎÄÚµù
}

function formData2QueryString(docForm)
{    
  var submitContent = '';
  var formElem;
  var lastElemName = '';
  
  for (i = 0; i < docForm.elements.length; i++) {
    
    formElem = docForm.elements[i];
    switch (formElem.type) {
      // Text fields, hidden form elements
      case 'text':
      case 'hidden':
      case 'password':
      case 'textarea':
      case 'select-one':
        submitContent += formElem.name + '=' + paramEscape(formElem.value) + '&'
        break;
	
      case 'select-multiple':
	  	submitContent += formElem.name + '=';
	  	 for (j = 0; j < formElem.length; j++) {
		 	if (formElem[j].selected) {
        		submitContent += paramEscape(formElem[j].value) + ',';
			}
		 }
		 submitContent += '&';
        break;
        
      // Radio buttons
      case 'radio':
        if (formElem.checked) {
          submitContent += formElem.name + '=' + paramEscape(formElem.value) + '&'
        }
        break;
        
      // Checkboxes
      case 'checkbox':
        if (formElem.checked) {
			submitContent += formElem.name + '=' + paramEscape(formElem.value) + '&'
          // Continuing multiple, same-name checkboxes
		  /*
          if (formElem.name == lastElemName) {
            // Strip of end ampersand if there is one
            if (submitContent.lastIndexOf('&') == submitContent.length-1) {
              submitContent = submitContent.substring(0, submitContent.length - 1);
            }
            // Append value as comma-delimited string
            submitContent += ',' + paramEscape(formElem.value);
          }
          else {
            submitContent += formElem.name + '=' + paramEscape(formElem.value);
          }
          submitContent += '&';
          lastElemName = formElem.name;
		  */
        }
        break;
        
    }
  }
  // Remove trailing separator
  submitContent = submitContent.substring(0, submitContent.length - 1);
  return submitContent;                               
}

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.responseText);');
                   break;        
            }            
        }
    }
    
    xmlHttpRequest.send(submitParameter);                    
}

function exe_myjscript(inStr)
{
        var startTag = "<myjscript><!--";
        var endTag = "--></myjscript>";
        if( (startidx = inStr.indexOf(startTag)) >= 0 ){
                endidx = inStr.indexOf(endTag);
                add_script = inStr.substring( inStr.indexOf(startTag)+startTag.length, endidx);
                eval(add_script); // <-- Áß¿äÇÑ ºÎºÐ

                inStr = inStr.substring(endidx+endTag.length);
                exe_myjscript(inStr);  // ¿©·¯¹ø ¼±¾ðÇßÀ» °æ¿ì°¡ ÀÖÀ¸¹Ç·Î
        }
}