//------------------------
//-- START OF AJAX CODE --
//------------------------
var currentPage = "default.aspx";

function GetXMLHTTPObject()
{
    var XMLHTTP=false;    
    try {
        XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (E) {
            XMLHTTP = false;
        }
    }    
    if (!XMLHTTP && typeof XMLHttpRequest!='undefined') {
        try {
            XMLHTTP = new XMLHttpRequest();
        } catch (e) {
            XMLHTTP=false;
        }
    }
    if (!XMLHTTP && window.createRequest) {
        try {
            XMLHTTP = window.createRequest();
        } catch (e) {
            XMLHTTP=false;
        }
    }
    return XMLHTTP;
}

function GetPage(url, pnl)
{
    //Show Progress
    var html;
    html = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" border=\"0\">";
    html += "<tr style=\"padding:30px 0px 300px 0px;\"><td align=\"center\"><img src=\"" + siteUrl + "/images/ajax-loader.gif\" width=\"45\" height=\"40\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById(pnl).innerHTML = html;
    document.getElementById("expanderLeft").style.height = "15px";
    document.getElementById("expanderRight").style.height = "15px";
    
    SetExpanderHeight();
    
    var XMLHTTP = GetXMLHTTPObject();
    
    XMLHTTP.open("GET", url + (url.indexOf("?") > -1 ? "&" : "?") + "ajax=1", true);
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4)
        {
            pageTracker._trackPageview("/" + url.replace(siteUrl + "/", ""));
            
            if(XMLHTTP.responseText.toLowerCase().indexOf("<body") > -1)
            {
                var html = XMLHTTP.responseText.substring(XMLHTTP.responseText.indexOf("<body") + 5);
                html = html.substring(html.indexOf(">") + 1);
                html = html.substring(0, html.indexOf("</body>"));
                document.getElementById(pnl).innerHTML = html;
            }
            else
            {
                document.getElementById(pnl).innerHTML = XMLHTTP.responseText;
            }
            
            var script = XMLHTTP.responseText.substring(XMLHTTP.responseText.toLowerCase().indexOf("</body>") + 7);
            if(script.toLowerCase().indexOf("<script ") > -1)
            {
                script = script.substring(script.indexOf(">") + 1);
                script = script.substring(0, script.toLowerCase().indexOf("</script>"));
                eval(script);
            }
            
            SetExpanderHeight();
            UpdateHeader(url);
            
            currentPage = url.substring(url.lastIndexOf("/") + 1);
        }
    }
    XMLHTTP.send(null);
}

function PostPage(frm, pnl)
{
    //Parse the form.
    var form = "";
    var i;
    for(i = 0; i < frm.length; i++)
    {
        if(frm[i].type == "radio")
        {
            if(frm[i].checked)
            {
                form += frm[i].name + "=" + escape(frm[i].value) + "&";
            }
        }
        else if(frm[i].type == "checkbox")
        {
            if(frm[i].checked)
            {
                form += frm[i].name + "=" + escape(frm[i].value) + "&";
            }
        }
        else if(frm[i].type == "select-one")
        {
            if(frm[i].options.length > 0)
            {
                form += frm[i].name + "=" + escape(frm[i].value) + "&";
            }
        }
        else if(frm[i].type == "select-multiple")
        {
            var j;
            for(j = 0; j < frm[i].options.length; j++)
            {
                if(frm[i].options[j].selected)
                {
                    form += frm[i].name + "=" + escape(frm[i].options[j].value) + "&";
                }
            }
        }
        else
        {
            form += frm[i].name + "=" + escape(frm[i].value) + "&";
        }
    }
    
    if(form != "")
    {
        form = form.substring(0, form.length - 1) + "&ajax=1";
    }
    else
    {
        form = "ajax=1";
    }
    
    //Show Progress
    var html;
    html = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" border=\"0\">";
    html += "<tr style=\"padding:30px 0px 300px 0px;\"><td align=\"center\"><img src=\"" + siteUrl + "/images/ajax-loader.gif\" width=\"45\" height=\"40\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById(pnl).innerHTML = html;
    document.getElementById("expanderLeft").style.height = "15px";
    document.getElementById("expanderRight").style.height = "15px";

    //Get the new page.
    var XMLHTTP = GetXMLHTTPObject();
    XMLHTTP.open("POST", frm.action, true);
    XMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    XMLHTTP.setRequestHeader("Content-length", form.length);

    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4) {
            pageTracker._trackPageview("/" + frm.action.replace(siteUrl + "/", ""));
            
            if(XMLHTTP.responseText.toLowerCase().indexOf("<body") > -1)
            {
                var html = XMLHTTP.responseText.substring(XMLHTTP.responseText.indexOf("<body") + 5);
                html = html.substring(html.indexOf(">") + 1);
                html = html.substring(0, html.indexOf("</body>"));
                document.getElementById(pnl).innerHTML = html;
            }
            else
            {
                document.getElementById(pnl).innerHTML = XMLHTTP.responseText;
            }
            
            var script = XMLHTTP.responseText.substring(XMLHTTP.responseText.toLowerCase().indexOf("</body>") + 7);
            if(script.toLowerCase().indexOf("<script ") > -1)
            {
                script = script.substring(script.indexOf(">") + 1);
                script = script.substring(0, script.toLowerCase().indexOf("</script>"));
                eval(script);
            }
            
            SetExpanderHeight();
        }
    }
    
    XMLHTTP.send(form);
    return false;
}
//----------------------
//-- END OF AJAX CODE --
//----------------------
