//------------------------
//-- 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:130px 0px 300px 0px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"16\" height=\"16\" border=\"0\" /></td></tr>";
    html += "</table>";
    document.getElementById(pnl).innerHTML = html;
    
    var XMLHTTP = GetXMLHTTPObject();
    
    XMLHTTP.open("GET", url, true);
    XMLHTTP.setRequestHeader("Referer", "http://www.fildev.co.za");
    XMLHTTP.onreadystatechange = function(){
        if (XMLHTTP.readyState == 4) {
            document.getElementById(pnl).innerHTML = XMLHTTP.responseText;
        }
    }
    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);
    }
    
    //Show Progress
    var html;
    html = "<table cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" border=\"0\">";
    html += "<tr style=\"padding:130px 0px 300px 0px;\"><td align=\"center\"><img src=\"images/ajax-loader.gif\" width=\"16\" height=\"16\" 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 --
//----------------------

function SubmitContact(frm, pnl)
{
    var emailRe = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/
    var phoneRe = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/
    
    if(frm.contact_name.value == "")
    {
        alert("Please enter your name!");
        return false;
    }
    
    if(frm.contact_email.value == "")
    {
        alert("Please enter your Email Address!");
        return false;
    }
    else
    {
        if(!emailRe.test(frm.contact_email.value))
        {
            alert("Please enter a valid Email Address!");
            return false;
        }
    }
    
    if(frm.contact_number.value != "")
    {
        if(!phoneRe.test(frm.contact_number.value))
        {
            alert("Please enter a valid Telephone Number!");
            return false;
        }
    }
    
    if(frm.comments.value == "")
    {
        alert("Please enter your Questions & Comments!");
        return false;
    }
    
    return PostPage(frm, pnl);
}
