var is_ie = (document.all) ? true : false;

function _ge(eid)
{
  return document.getElementById(eid);
}

// escape function
var escape_trans = [];
for (var i = 0x410; i <= 0x44F; i++) escape_trans[i] = i - 0x350; // À-ßà-ÿ
escape_trans[0x401] = 0xA8;    // ¨
escape_trans[0x451] = 0xB8;    // ¸

var escapeOrig = window.escape;

window.escape = function(str)
{
  var ret = [];
  var str1 = str.toString();

  for (var i = 0; i < str1.length; i++)
  {
    var n = str1.charCodeAt(i);
    if (typeof escape_trans[n] != 'undefined') n = escape_trans[n];
    if (n <= 0xFF) ret.push(n);
  }
  return escapeOrig(String.fromCharCode.apply(null, ret));
}

function getHTTPRequestObject()
{
  var xmlHttpRequest;

  if (typeof ActiveXObject != 'undefined')
  {
    try {
      xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    } catch(e) {}

    if (!xmlHttpRequest) try {
      xmlHttpRequest = new ActiveXObject('Msxml2.XMLHTTP');
    } catch(e) {}
  }
  else if (typeof XMLHttpRequest != 'undefined')
  {
    xmlHttpRequest = new XMLHttpRequest();
  } else
  {
    xmlHttpRequest = false;
  }

  return xmlHttpRequest;
}

var diXMLRequest =
{
  get : function (url, callback)
  {
    var _getter = getHTTPRequestObject();
    _getter.open("GET", url, true);

    _getter.onreadystatechange = function() {
      if (_getter.readyState == 4)
      {
        callback(_getter.responseXML)
      }
    }

    _getter.send(null)
  },

  post : function (url, form, callback)
  {
    var _poster = getHTTPRequestObject();

    _poster.open("POST", url, true);
    _poster.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    _poster.setRequestHeader('Connection', 'close');
    _poster.send(form);

    _poster.onreadystatechange = function() {
      if (_poster.readyState == 4)
      {
        callback(_poster.responseXML);
      }
    };

    if (is_ie) _poster.send(null);
  }
}