function SetOuterHTML(ElementID, txt) {
    var someElement = document.getElementById(ElementID);

    if (someElement.outerHTML) {
        document.getElementById(ElementID).outerHTML = txt;
    }
    else {
        var e = document.createElement("div");
        var root = null;
        e.innerHTML = txt;
        for (var i = 0; i < e.childNodes.length; i++) {
            if (e.childNodes[i].nodeType == 1) {
                root = e.childNodes[i];
                break;
            }
        }
        if (root)
            someElement.parentNode.replaceChild(root, someElement);
    }
    return (document.getElementById(ElementID));
}
function AjaxRequest(method, url, params, func, loader, loaderdisplay) {
    var xh = getXMLHttp();
    if (loader != null && loader != "" && document.getElementById(loader)) {
        document.getElementById(loader).style.display = loaderdisplay;
    }
    if (method.toLowerCase() == "get") url = url + "?" + params;
    xh.open(method, url, true);
    if (method.toLowerCase() == "get") xh.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    else xh.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xh.onreadystatechange = function() {
        if (xh.readyState == 4) {
            if (loader != null && loader != "" && document.getElementById(loader)) {
                document.getElementById(loader).style.display = "none";
            }
            func(xh.responseText);
        }
    }
    var s = null;
    if (method.toLowerCase() == "post") s = params;
    xh.send(s);
}

function getXMLHttp() {
    var XMLHttpResult = null;
    if (window.XMLHttpRequest) {
        try {
            XMLHttpResult = new XMLHttpRequest();
        } catch (e) { }
    } else if (window.ActiveXObject) {
        try {
            XMLHttpResult = new ActiveXObject("Msxnl2.XMLHTTP");
        } catch (e) {
            try {
                XMLHttpResult = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }
    return XMLHttpResult;
}
