function validateFields() {

    var frmEl = document.getElementById('cForm');
    var posName = document.getElementById('posName');
    var posEmail = document.getElementById('posEmail');
    var posText = document.getElementById('posText');

    var whiteSpace = /^[\s]+$/;
    var emailFormat = /^[\w\.\-]+@[\w\.\-]+\.[\w\.\-]+$/;

    if ( posName.value == "" || whiteSpace.test(posName.value) ) {
        alert("Please enter your name.");

    } else if ( posEmail.value == "" || whiteSpace.test(posEmail.value) ) {
        alert("Please enter your e-mail address.");

    } else if (!posEmail.value.match(emailFormat)) {
        alert("Please enter a valid e-mail address.");

    } else {
        sendPosEmail();
    }
}

function sendPosEmail () {

    var success     = document.getElementById('emailSuccess');
    var posName     = document.getElementById('posName');
    var posEmail    = document.getElementById('posEmail');
    var posYear     = document.getElementById('posYear');
    var posSchool   = document.getElementById('posSchool');
    var posPhone    = document.getElementById('posPhone');
    var posAddress1 = document.getElementById('posAddress1');
    var posAddress2 = document.getElementById('posAddress2');
    var posText = document.getElementById('posText');
    var posSubscribe = document.getElementById('posSubscribe');
    var strSubscribe = document.getElementById('posSubscribe').value;
    var page = "scripts/xmlHttpRequest.php?contact=true&xml=true";

    showContactTimer(); // quickly begin the load bar
    success.style.display = 'none'; // hide the success bar (incase this is a multi-email

    // convert (&, +, =) to string equivs. Needed so URL encoded POST won't choke.
    var strName = posName.value;
    strName = strName.replace(/&/g,"**am**");
    strName = strName.replace(/=/g,"**eq**");
    strName = strName.replace(/\+/g,"**pl**");

    var strEmail = posEmail.value;
    strEmail = strEmail.replace(/&/g,"**am**");
    strEmail = strEmail.replace(/=/g,"**eq**");
    strEmail = strEmail.replace(/\+/g,"**pl**");

    var strYear = posYear.value;
    strYear = strYear.replace(/&/g,"**am**");
    strYear = strYear.replace(/=/g,"**eq**");
    strYear = strYear.replace(/\+/g,"**pl**");

    var strSchool = posSchool.value;
    strSchool = strSchool.replace(/&/g,"**am**");
    strSchool = strSchool.replace(/=/g,"**eq**");
    strSchool = strSchool.replace(/\+/g,"**pl**");

    var strPhone = posPhone.value;
    strPhone = strPhone.replace(/&/g,"**am**");
    strPhone = strPhone.replace(/=/g,"**eq**");
    strPhone = strPhone.replace(/\+/g,"**pl**");

    var strAddress1 = posAddress1.value;
    strAddress1 = strAddress1.replace(/&/g,"**am**");
    strAddress1 = strAddress1.replace(/=/g,"**eq**");
    strAddress1 = strAddress1.replace(/\+/g,"**pl**");

    var strAddress2 = posAddress2.value;
    strAddress2 = strAddress2.replace(/&/g,"**am**");
    strAddress2 = strAddress2.replace(/=/g,"**eq**");
    strAddress2 = strAddress2.replace(/\+/g,"**pl**");

    var strText = posText.value;
    strText = strText.replace(/&/g,"**am**");
    strText = strText.replace(/=/g,"**eq**");
    strText = strText.replace(/\+/g,"**pl**");

    var strSubscribe = "";

    if (posSubscribe.checked == true) {
        strSubscribe = document.getElementById('posSubscribe').value
    }

    var strParms = "posName=" + strName
                 + "&posEmail=" + strEmail
                 + "&posYear=" + strYear
                 + "&posSchool=" + strSchool
                 + "&posPhone=" + strPhone
                 + "&posAddress1=" + strAddress1
                 + "&posAddress2=" + strAddress2
                 + "&posSubscribe=" + strSubscribe
                 + "&posText=" + strText;

    loadXMLPosDoc(page,strParms)
}

function showContactTimer () {

    var loader = document.getElementById('loadBar');
    loader.style.display = 'block';
    sentTimer = setTimeout("hideContactTimer()",6000);
}

function hideContactTimer () {

    var loader = document.getElementById('loadBar');
    var success = document.getElementById('emailSuccess');
    var fieldArea = document.getElementById('contactFormArea');
    var inputs = fieldArea.getElementsByTagName('input');
    var inputsLen = inputs.length;
    var tAreas = fieldArea.getElementsByTagName('textarea');
    var tAreasLen = tAreas.length;

    // Hide the load bar alas! Done Loading
    loader.style.display = "none";
    success.style.display = "block";
    success.innerHTML = '<strong style="color:green;">'+grabPosXML("confirmation")+'</strong>';

    // Now Hijack the form elements
    for ( i=0;i<inputsLen;i++ ) {
        if ( inputs[i].getAttribute('type') == 'text' ) {
                inputs[i].value = '';
        }
    }

    for ( j=0;j<tAreasLen;j++ ) {
            tAreas[j].value = '';
    }
}

function ajaxContact() {

    var frmEl = document.getElementById('cForm');
    addEvent(frmEl, 'submit', validateFields, false);
    frmEl.onsubmit = function() { return false; }
}

addEvent(window, 'load',ajaxContact, false);
