function init(pErrorMsg) {
    if (pErrorMsg != "") {
        document.getElementById("formError").style.display = "block";
        document.getElementById("formError").innerHTML = pErrorMsg;
    } else {
        document.getElementById("formError").style.display = "none";
    }
}

function validate(pForm) {
    l_strWarning = ""

    if(pForm.txtFirstName.value.trim() == '') l_strWarning += "<li><strong>First Name:</strong> Cannot be empty.</li>";
    if(!isAlpha(pForm.txtFirstName.value)) l_strWarning += "<li><strong>First Name:</strong> Must contain alphabetic characters.</li>";

    if(pForm.txtLastName.value.trim() == '') l_strWarning += "<li><strong>Last Name:</strong> Cannot be empty.</li>";
    if(!isAlpha(pForm.txtLastName.value)) l_strWarning += "<li><strong>Last Name:</strong> Must contain alphabetic characters.</li>";

    if(pForm.txtAddress1.value.trim() == '') l_strWarning += "<li><strong>Address:</strong> Cannot be empty.</li>";

    if (pForm.radFormat[0].checked) {
        if (pForm.txtCity.value.trim() == "") l_strWarning += "<li><strong>City:</strong> Cannot be empty</li>";
        if (pForm.ddlState.options.selectedIndex < 1) l_strWarning += "<li><strong>State:</strong> Must Be selected</li>";
        if (!isValidZipCode(pForm.txtZip.value.trim())) l_strWarning += "<li><strong>Zip code:</strong> Invalid zip code</li>";
    } 
    
    if (pForm.radFormat[1].checked) {
        if (pForm.txtCanCity.value.trim() == "") l_strWarning += "<li><strong>City:</strong> Cannot be empty</li>";
        if (pForm.ddlProvince.options.selectedIndex < 1) l_strWarning += "<li><strong>Province:</strong> Must Be selected</li>";
        if (pForm.txtCanZip.value.trim() == "") l_strWarning += "<li><strong>Zip:</strong> Cannot be empty</li>";
    }
    
    if (pForm.radFormat[2].checked) {
        if (pForm.ddlCountry.options.selectedIndex < 1) l_strWarning += "<li><strong>Country:</strong> Must Be selected</li>";
    }
    
    if (pForm.txtDayPhone.value.trim() == "") l_strWarning += "<li><strong>Daytime Phone:</strong> Cannot be empty</li>";

    var l_strEmailWarning = '';
    l_strEmailWarning = emailCheck(pForm.txtEmail.value, l_strEmailWarning);
    if (l_strEmailWarning != "") l_strWarning += "<li><strong>Email:</strong>" + l_strEmailWarning;

    if (pForm.txtStoryText.value.trim() == "") l_strWarning += "<li><strong>Your Story:</strong> Cannot be empty</li>";
    if (pForm.txtStoryText.value.length > 3000) l_strWarning += "<li><strong>Your Story:</strong> Cannot be more than 3000 characters</li>";

    if (l_strWarning != "") {
        document.getElementById("formError").style.display = "block";
        document.getElementById("formError").innerHTML= "<strong>The form cannot be submitted because\nthe following fields are invalid/incomplete:</strong><ul>" + l_strWarning + "</ul>";
        return false;
    } else {
        pForm.submit();
    }
}
