/// <reference path="jquery-1.3.2.min.js" />
function sethtml(div, content) {
    var search = content;
    var script;
    
    if (div && !div.jquery) div = $(div);
    
    div.html(content);

    while (script = search.match(/(<script[^>]+javascript[^>]+>\s*(<!--)?)/i)) {
        search = search.substr(search.indexOf(RegExp.$1) + RegExp.$1.length);

        if (!(endscript = search.match(/((-->)?\s*<\/script>)/))) break;

        block = search.substr(0, search.indexOf(RegExp.$1));
        search = search.substring(block.length + RegExp.$1.length);

        var oScript = document.createElement('script');
        oScript.text = block;
        document.getElementsByTagName("head").item(0).appendChild(oScript);
    }

}

function PostDynamicContent(url, postVal, obj, callBackFunc) {
    var xmlhttp = GetXmlHttpObject();
    if (xmlhttp == null) return;

    xmlhttp.open("POST", url, true);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                if (obj) sethtml(obj, xmlhttp.responseText);
                if (callBackFunc) callBackFunc(xmlhttp);
            }
            else {
                alert("Problem retrieving XML data:" + xmlhttp.statusText);
            }
        }
    }

    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(postVal);
}


function GetDynamicContent(url, queryString, obj, callBackFunc) {
    var xmlhttp = GetXmlHttpObject();
    if (xmlhttp == null) return;

    if (queryString && queryString.length > 0) url += "?" + queryString
    
    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                if (obj) sethtml(obj, xmlhttp.responseText);
                if (callBackFunc) callBackFunc(xmlhttp);
            }
            else {
                alert("Problem retrieving XML data:" + xmlhttp.statusText);
            }
        }
    }

    xmlhttp.send(null);
}

function GetXmlHttpObject() {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    if (window.XMLHttpRequest) return new XMLHttpRequest();
        
    
    // code for IE6, IE5
    if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
       
    // no XMLHttp support
    return null;
}

function PopupDynamicContent(url, postVal, popupDivName, buttonOpts) {
    var xmlhttp = GetXmlHttpObject();
    if (xmlhttp == null) return;

    xmlhttp.open("POST", url, true);
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4) {
            if (xmlhttp.status == 200) {
                $("#" + popupDivName).remove();

                var PopupDiv = $(xmlhttp.responseText)
                PopupDiv.appendTo("body:first")
                PopupDiv.attr("id", popupDivName);

                PopupDiv.dialog({
                    bgiframe: true,
                    autoOpen: true,
                    width: PopupDiv.width(),
                    resizable: false,
                    modal: true,
                    buttons: buttonOpts,
                    close: function() { PopupDiv.hide(); }
                });
            }
            else {
                alert("Problem retrieving XML data:" + xmlhttp.statusText);
            }
        }
    }

    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send(postVal);
}