﻿function contact_checkForm() {
    var inputOK = true;
    var errorMessage = errorMessageText

    /* Check for email */
    text = util_trim(document.getElementById("contact-form-email").value);
    var validEmail = util_validateEmail(util_trim(text));
    if (text == "" || !validEmail) {
        inputOK = false;
        var errorText = "<br/> - " + emailText;
        if (!validEmail) {
            errorText += ": " + nonValidEmailText;
        }
        errorMessage = errorMessage.replace(/%email%/, errorText);
        document.getElementById("contact-form-email").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%email%/, "");
        document.getElementById("contact-form-email").className = "";
    }

    /* Check for firstname */
    text = util_trim(document.getElementById("contact-form-firstname").value);
    if (text == "") {
        inputOK = false;
        errorMessage = errorMessage.replace(/%firstname%/, "<br/> - " + firstnameText);
        document.getElementById("contact-form-firstname").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%firstname%/, "");
        document.getElementById("contact-form-firstname").className = "";
    }

    /* Check for lastname */
    text = util_trim(document.getElementById("contact-form-lastname").value);
    if (text == "") {
        inputOK = false;
        errorMessage = errorMessage.replace(/%lastname%/, "<br/> - " + lastnameText);
        document.getElementById("contact-form-lastname").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%lastname%/, "");
        document.getElementById("contact-form-lastname").className = "";
    }

    /* Check for phone */
    text = util_trim(document.getElementById("contact-form-phone").value);
    if (text == "") {
        inputOK = false;
        errorMessage = errorMessage.replace(/%phone%/, "<br/> - " + phoneText);
        document.getElementById("contact-form-phone").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%phone%/, "");
        document.getElementById("contact-form-phone").className = "";
    }

    /* Check for subject */
    text = util_trim(document.getElementById("contact-form-subject").value);
    if (text == "-1") {
        inputOK = false;
        errorMessage = errorMessage.replace(/%subject%/, "<br/> - " + subjectText);
        document.getElementById("contact-form-subject").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%subject%/, "");
        document.getElementById("contact-form-subject").className = "";
    }

    /* Check for comment */
    text = util_trim(document.getElementById("contact-form-comment").value);
    if (text == "") {
        inputOK = false;
        errorMessage = errorMessage.replace(/%comment%/, "<br/> - " + commentText);
        document.getElementById("contact-form-comment").className = "error";
    }
    else {
        errorMessage = errorMessage.replace(/%comment%/, "");
        document.getElementById("contact-form-comment").className = "";
    }

    /* Check for captcha */
    text = util_trim(document.getElementById("contact-form-captcha").value);
    var responseXML = util_parseXML(ajax_call("ajax.aspx?a=checkcaptcha&id=contact&message=" + encodeURIComponent(text), null, false));
    if (text == "" || (responseXML != null && responseXML.getElementsByTagName("notok").length > 0)) {
        inputOK = false;
        errorMessage = errorMessage.replace(/%word_verification%/, "<br/> - " + wordVerificationText);
        dojo.addClass(document.getElementById("contact-form-captcha"), "error");
    }
    else {
        errorMessage = errorMessage.replace(/%word_verification%/, "");
        dojo.removeClass(document.getElementById("contact-form-captcha"), "error");
    }

    if (!inputOK) {
        page_showAlert(errorTitleText, errorMessage, [{ title: okText, action: null, hide: true}], 0, {});
    }
    else {
        var url = "ajax.aspx?a=contactformemail" +
                  "&firstname=" + encodeURIComponent(document.getElementById("contact-form-firstname").value) +
                  "&lastname=" + encodeURIComponent(document.getElementById("contact-form-lastname").value) +
                  "&address=" + encodeURIComponent(document.getElementById("contact-form-address").value) +
                  "&country=" + encodeURIComponent(document.getElementById("contact-form-country").value) +
                  "&zip=" + encodeURIComponent(document.getElementById("contact-form-zip").value) +
                  "&place=" + encodeURIComponent(document.getElementById("contact-form-place").value) +
                  "&email=" + encodeURIComponent(document.getElementById("contact-form-email").value) +
                  "&phone=" + encodeURIComponent(document.getElementById("contact-form-phone").value) +
                  "&subject=" + encodeURIComponent(document.getElementById("contact-form-subject").value) +
                  "&comment=" + encodeURIComponent(document.getElementById("contact-form-comment").value) +
                  "&captcha=" + encodeURIComponent(document.getElementById("contact-form-captcha").value);
        ajax_call(url, contact_sendForm_CB);
    }
}

function contact_sendForm_CB() {
    page_showAlert(successTitleText, successMessageText, [{ title: okText, action: null, hide: true}], 0, {});
    contact_reloadCaptcha();
    document.getElementById("contact-form-firstname").value = "";
    document.getElementById("contact-form-lastname").value = "";
    document.getElementById("contact-form-address").value = "";
    document.getElementById("contact-form-country").value = "";
    document.getElementById("contact-form-zip").value = "";
    document.getElementById("contact-form-place").value = "";
    document.getElementById("contact-form-email").value = "";
    document.getElementById("contact-form-phone").value = "";
    util_setSelectionValue(document.getElementById("contact-form-subject"), "-1");
    document.getElementById("contact-form-comment").value = "";
    document.getElementById("contact-form-captcha").value = "";
}

function contact_reloadCaptcha() {
    document.getElementById("contact-form-captcha-image").src = "getcaptcha.aspx?id=contact&rand=" + Math.ceil(Math.random()*1000);
}