﻿
//  Funcion utilizada al momento de chequear si alguna validation client-side fallo sobre
//  el UserName. En caso de que si esta funcion lo avisara y no se procedera a chequear
//  si hay el usuario disponible es el ingresado. TODO: hacer una funcion generica extension
//  de jQuery para chequear cualquier elemento DOM.
function CheckIfUserNameValidationFailed() {
    var userNameFailed = false;
    var $userNameValidation = $('#UserName_validationMessage');

    if ($userNameValidation) {
        userNameFailed = $userNameValidation.hasClass('field-validation-error');
    }

    return userNameFailed;
}

function InitializeUserNameAutoAvailabilityChecker(url, userNameSelector) {
    // Chequear disponibilidad del UserName...
    $(userNameSelector).blur(function () {
        var userName = $(this).val();

        if (userName && !CheckIfUserNameValidationFailed(userName)) {
            $.getJSON(url, { userName: userName },
                            function (jsondata) {
                                if (jsondata.Available) {
                                    $('#feedbackRequiredUserWrong').hide();
                                    $('#feedbackRequiredUserOK').show();

                                    $('#feedbackRequiredUserWrongMessage').text('');
                                    $('#feedbackRequiredUserOKMessage').text('Nombre de usuario disponible');
                                } else {
                                    $('#feedbackRequiredUserOK').hide();
                                    $('#feedbackRequiredUserWrong').show();

                                    $('#feedbackRequiredUserOKMessage').text('');
                                    $('#feedbackRequiredUserWrongMessage').text('Nombre de usuario ya en uso');
                                }
                            });
        }
    });
}

function DisableUserName() {
    $('#UserName').attr('disabled', 'true'); // Immutable
}

