function XMLUtil()
{
    this.UNINITIALIZED = 0;
    this.LOADING       = 1;
    this.LOADED        = 2;
    this.INTERACTIVE   = 3;
    this.COMPLETE      = 4;
    this.isIE = (document.implementation.createDocument) ? false : true;
}

XMLUtil.prototype.getXMLHTTPObject = function()
{
    if(this.isIE)
    {
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
        return new XMLHttpRequest();
    }
}

XMLUtil.prototype.getDOM = function()
{
    if (this.isIE)
    {
        return new ActiveXObject("Microsoft.XMLDOM");
    }
    else
    {
        return new DOMParser();
    }
}

XMLUtil.prototype.getDOMFromString = function(xmlStr)
{
    var xmlDom = this.getDOM();
    if (this.isIE)
    {
        xmlDom.async = 'false';
        xmlDom.loadXML(xmlStr);
        return xmlDom;
    }
    else
    {
        return xmlDom.parseFromString(xmlStr, 'text/xml');
    }
}

XMLUtil.prototype.getText = function(elem)
{
    if (this.isIE)
    {
        return elem.text;
    }
    else
    {
        return elem.textContent;
    }
}
