﻿
function NewsletterSignupSubmitClick(conID) {
    var allowPost = false;
    try {
        if (NewsletterSignupEmailValidate(conID)) {
            var txtEmail = document.getElementById(conID + '_txtEmail');
            var email = txtEmail.value;

            if (email != '') {
                SendNewsletterSignup(email, conID);
            }
        }
    }
    catch (ex) {
        allowPost = true;
    }
    finally {
        return allowPost;
    }
}

function NewsletterSignupEmailValidate(conID) {
    var valid = true;
    var errorDiv = document.getElementById(conID + '_divIvalidEmail');
    var txtEmail = document.getElementById(conID + '_txtEmail');
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;

    if (txtEmail) {
        if (txtEmail.value != '') {
            valid = emailPattern.test(txtEmail.value);
        }
    }

    if (errorDiv) {
        if (!valid) {
            errorDiv.style.display = '';
        }
        else {
            errorDiv.style.display = 'none';
        }
    }
    //ClearSuccessDiv(conID);
    return valid;
}

function ClearSuccessDiv(conID) {
    try {
        var successDiv = document.getElementById(conID + '_divNewsletterSignupSubmitted');
        if (successDiv) {
            successDiv.style.display = 'none';
        }
    }
    catch (ex) {
    }
}

function SendNewsletterSignup(email, conID) {
    PortNiantic.PNBaseService.SubmitNewsletterSignup(email, NewsletterSignupReturn, NewsletterSignupError, conID);
}

function NewsletterSignupReturn(signupSuccess, conID) {
    try {
        var divNewsletterSignupSubmitted = document.getElementById(conID + '_divNewsletterSignupSubmitted');
        var txtEmail = document.getElementById(conID + '_txtEmail');

        if (divNewsletterSignupSubmitted) {
            if (signupSuccess) {
                divNewsletterSignupSubmitted.style.display = '';
                txtEmail.value = '';
                txtEmail.focus();
            }
            else {
                divNewsletterSignupSubmitted.style.display = 'none';
            }
        }
    }
    catch (ex) {
    }
}

function NewsletterSignupError(error) {
    alert('We are unable to process your request at this time. Please email or call with any questions.');
}
