function submitContest() {
    violation = true;
    violString = "The following errors occurred on the form:\n\n";

    var name = document.getElementById("focusable").value;
    var address1 = document.getElementById("contestaddress1").value;
    var address2 = document.getElementById("contestaddress2").value;
    var city = document.getElementById("contestcity").value;
    var state = document.getElementById("conteststate").value;
    var zip = document.getElementById("contestzip").value;
    var phone1 = document.getElementById("contestphone1").value;
    var phone2 = document.getElementById("contestphone2").value;
    var phone3 = document.getElementById("contestphone3").value;
    var email = document.getElementById("contestemail").value;

    if (name.length == 0) {
        violString += "- Your Name is a required field.\n";
        violation = false;
    }

    if (address1.length == 0) {
        violString += "- Address 1 is a required field.\n";
        violation = false;
    }

    if (city.length == 0) {
        violString += "- City is a required field.\n";
        violation = false;
    }

    if (state.length != 2) {
        violString += "- State is a required field and must be 2 characters [ex. NH].\n";
        violation = false;
    }

    if (zip.length != 5) {
        violString += "- Zip Code is a required field and must be 5 digits [ex. 03110].\n";
        violation = false;
    }

    if (isNaN(phone1) || phone1.length != 3 || isNaN(phone2) || phone2.length != 3 || isNaN(phone3) || phone3.length != 4) {
        violString += "- Phone is an invalid format. [ex. (555) 555-5555]\n";
        violation = false;
    }

    if (email.length == 0) {
        violString += "- Email is a required field.\n";
        violation = false;

    } else if (!echeck(email)) {
        violString += "- Email is an invalid format.\n";
        violation = false;
    }

    if (!violation) {alert(violString); return;}

    var xmlHTTP = getXMLHTTPObject();
    if (!xmlHTTP) {return false;}

    xmlHTTP.onreadystatechange=function() {
        if (xmlHTTP.readyState==4) {
            var responseText = xmlHTTP.responseText;
            var action = null;

            if (responseText.indexOf("<action>") != -1 && responseText.indexOf("</action>") != -1) {
                action = responseText.substring(responseText.indexOf("<action>") + 8, responseText.indexOf("</action>"));
                responseText = responseText.substring(responseText.indexOf("</action>") + 9);
            }

            if (action != null) {
                if (action == "ok") {
                    showPopup("/popups/greenmessage.jsp?messagetitle=Your entry was submitted!&messagebody=" + responseText);
                }

            } else {
                document.getElementById("popupmessage").style.visibility = 'visible';
                document.getElementById("popupmessage").innerHTML = responseText;
            }
        }
    }

    var date = new Date();
    var timestamp = date.getTime();

    var data = "name=" + cleanURL(name) + "&address1=" + cleanURL(address1) + "&address2=" + cleanURL(address2) + "&city=" + cleanURL(city) + "&state=" + cleanURL(state) + "&zip=" + cleanURL(zip) +
         "&phone1=" + cleanURL(phone1) + "&phone2=" + cleanURL(phone2) + "&phone3=" + cleanURL(phone3) + "&email=" + cleanURL(email);

    xmlHTTP.open("POST", "/vista/contestpopupsubmit.jsp?time=" + timestamp, true);
    xmlHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlHTTP.send(data);
}



