﻿/*Submit form information to the server */

var _doPostback = true;
function SubmitGuestPassClientInformation() {
    _doPostback = true;
    ValidateField("#requiredFirstName", "#txtFirstName");
    ValidateField("#requiredLastName", "#txtLastName");
    ValidateField("#requiredEmail", "#txtEmail");
    ValidateField("#requiredPhone", "#txtPhone");

    if (_doPostback) {
        var delimitador = ";";
        var clubId = $("#hiddenClubId").val();
        var clientData = $("#txtFirstName").val() + delimitador + $("#txtLastName").val() + delimitador + $("#txtEmail").val() + delimitador + $("#txtPhone").val() + delimitador + clubId;
        __doPostBack('OnGuestPassSubmitForm', clientData);
    }
    else {
        return false;
    }
}

function IsEmptyOrNull(field) {
    var isEmpty = false;
    if ($(field).val().length == 0 || $(field).val() == null) {
        isEmpty = true;
    }
    return isEmpty;
}

function IsValidEmail(field) {
    var error = false;
    regex = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;

    if ($(field).val() != "" && !$(field).val().match(regex)) {
        error = true;
    }
    return error;
}

function IsValidPhone(field) {
    var error = false;
    var phoneWithSpaces = $(field).val().trim();
    regex = /^(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|[Xx]\.?|ext\.?|extension)\s*(\d+))?$/;
    if ($(field).val() != "" && !$(field).val().match(regex)) {
        error = true;
    }
    return error;
}

function IsValidName(field) {
    var error = false;
    regex = /^[A-Za-z ]+$/;
    if ($(field).val() != "" && !$(field).val().match(regex)) {
        error = true;
    }
    return error;
}

function ValidateField(messageTag, input) {
    $(messageTag).html("");

    var fieldIsNotEmpty = true;

    if (IsEmptyOrNull(input)) {
        $(messageTag).html('* Required');
        _doPostback = false;
        fieldIsNotEmpty = false;
    }

    if (fieldIsNotEmpty) {
        switch (input) {
            case "#txtEmail":
                if (IsValidEmail(input)) {
                    $(messageTag).html("* abc@abc.com");
                    _doPostback = false;
                }
                break;
            case "#txtPhone":
                if (IsValidPhone(input)) {
                    $(messageTag).html("* 111-222-1234");
                    _doPostback = false;
                }
                break;
            default:
                if (IsValidName(input)) {
                    $(messageTag).html("* a-zA-Z");
                    _doPostback = false;
                }
                break;
        }
    }
}

function FirstNameValidation() {
    ValidateField("#requiredFirstName", "#txtFirstName");
}

function LastNameValidation() {
    ValidateField("#requiredLastName", "#txtLastName");
}

function EmailValidation() {
    ValidateField("#requiredEmail", "#txtEmail");
}

function PhoneValidation() {
    ValidateField("#requiredPhone", "#txtPhone");
}
