//------------------------
//-- START OF AJAX CODE --
//------------------------
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:180px 100px 30px 100px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"32\" height=\"32\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById(pnl).innerHTML = html;
    
    var XMLHTTP = GetXMLHTTPObject();
    
    XMLHTTP.open("GET", url + (url.indexOf("?") > -1 ? "&" : "?") + "ajax=1", true);
    XMLHTTP.setRequestHeader("Referer", "http://www.divorceattorney.co.za");
    XMLHTTP.onreadystatechange = function () {
        if (XMLHTTP.readyState == 4) {
            var html = XMLHTTP.responseText;

            if (XMLHTTP.responseText.toLowerCase().indexOf("<body") > -1) {
                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;
            }

            //Process scripts...
            var scr = /<script[^>]+?>(.+?)<\/script>/gi;
            var scripts = html.replace(/\n/g, '').match(scr);

            if (scripts != null) {
                var i;
                for (i = 0; i < scripts.length; i++) {
                    if (scripts[i].toLowerCase().indexOf(" src=") == -1) {
                        var scrStart = /<script.+?>/gi;
                        var scrEnd = /<\/script>/gi;
                        var script = scripts[i].replace(scrStart, "").replace(scrEnd, "");
                        eval(script);
                    }
                }
            }
        }
    }
    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)
            {
                if(frm[i].value != "")
                {
                    form += frm[i].name + "=" + escape(frm[i].value) + "&";
                }
                else
                {
                    var j;
                    for(j = 0; j < frm[i].options.length; j++)
                    {
                        if(frm[i].options[j].selected)
                        {
                            if(frm[i].options[j].value != "")
                            {
                                form += frm[i].name + "=" + escape(frm[i].options[j].value) + "&";
                            }
                            else
                            {
                                form += frm[i].name + "=" + escape(frm[i].options[j].text) + "&";
                            }
                        }
                    }
                }
            }
        }
        else if(frm[i].type == "select-multiple")
        {
            var j;
            for(j = 0; j < frm[i].options.length; j++)
            {
                if(frm[i].options[j].selected)
                {
                    if(frm[i].options[j].value != "")
                    {
                        form += frm[i].name + "=" + escape(frm[i].options[j].value) + "&";
                    }
                    else
                    {
                        form += frm[i].name + "=" + escape(frm[i].options[j].text) + "&";
                    }
                }
            }
        }
        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:60px 0px 30px 0px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"32\" height=\"32\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById(pnl).innerHTML = html;

    //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) {
            document.getElementById(pnl).innerHTML = XMLHTTP.responseText;
        }
    }
    
    XMLHTTP.send(form);

    return false;
}
//----------------------
//-- END OF AJAX CODE --
//----------------------
