$(document).ready (function (){
    var depositForm       = $('#frm'),
        cyclerDepositForm = $('#cyclerFrm'),
        errorBox          = $('#errMessage');

    if (depositForm.length)
    {
        errorBox.hide();
        var checkAmount = function (_input){
            var amount = _input.val();

            if (isNaN(parseFloat(amount)) || parseFloat(amount) < 3)
            {
                errorBox.html('Minimum deposit is $3').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        },

        checkUsername = function(_input){
            var username = _input.val(),
                reg = /^([A-Za-z0-9_\-\.]){3,}$/;

            if (!reg.test(username))
            {
                errorBox.html('Minimum 3 characters required').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        },

        checkEmail = function(_input){
            var email = _input.val(),
                reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

            if (!reg.test(email))
            {
                errorBox.html('Valid Email required').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        };

        $(document).delegate ('#btnSubmit', 'click', function (){
            var amount = $('#lr_amnt'),
                username = $('#bb_username'),
                email = $('#bb_email');

            errorBox.hide();
            amount.removeClass('errorField');
            username.removeClass('errorField');
            email.removeClass('errorField');

            if (checkAmount(amount) && checkUsername(username) && checkEmail(email))
                $('#frm').submit();
        });

        /* Applying the style to all inputs that are text */
        $('input[type=text]').addClass('goodLookingField');
    }

    if (cyclerDepositForm.length)
    {
        errorBox.hide();
        var checkAmount = function (_input){
            var amount = _input.val();

            if (isNaN(parseFloat(amount)) || (parseFloat(amount) % 3 != 0))
            {
                errorBox.html('Deposit must be a multiple of $3').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        },

        checkUsername = function(_input){
            var username = _input.val(),
                reg = /^([A-Za-z0-9_\-\.]){3,}$/;

            if (!reg.test(username))
            {
                errorBox.html('Minimum 3 characters required').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        },

        checkEmail = function(_input){
            var email = _input.val(),
                reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

            if (!reg.test(email))
            {
                errorBox.html('Valid Email required').fadeIn('slow');

                _input.addClass("errorField");
                _input.focus();
                return false;
            }

            return true;
        };

        $(document).delegate ('#btnSubmit', 'click', function (){
            var amount = $('#lr_amnt'),
                username = $('#bb_username'),
                email = $('#bb_email');

            errorBox.hide();
            amount.removeClass('errorField');
            username.removeClass('errorField');
            email.removeClass('errorField');

            if (checkAmount(amount) && checkUsername(username) && checkEmail(email))
                cyclerDepositForm.submit();
        });

        /* Applying the style to all inputs that are text */
        $('input[type=text]').addClass('goodLookingField');
    }

    $('#lraccount').keyup(function(event) {
        if (event.keyCode == '13') {
            event.preventDefault();
            document.location.href = '/log/' + $(this).val().toUpperCase();
        }
    });
});
