﻿    
    
    $(function() {
        $(document).ready(function() {
            login.init();
        });
    });


/* global eBlad */
    var login = {
        init: function () {

            this.bindLoginTextBoxes();

            this.bindLoginButton();

            this.bindPasswordCapsCheck();
        },

        // set up jQuery behaviour for better form inputs 
        bindLoginTextBoxes: function () {

            // set up default values and styles
            $('.usernameBox').val('Acc No.').css({ 'color': '#777', 'font-style': 'italic' });
            $('.passwordBox').val('Password').css({ 'color': '#777', 'font-style': 'italic' });

            // on first !important click(focus), remove styles and values
            // check other box, and re-set to default if nothing set in there
            $('.usernameBox').focus(function (e) {
                if ($(this).val() == 'Acc No.') {
                    $(this).val('').css({ 'color': '#000', 'font-style': 'normal' });
                }
            });
            $('.usernameBox').focusout(function (e) {
                if ($('.usernameBox').val() == '') {
                    $('.usernameBox').val('Acc No.').css({ 'color': '#777', 'font-style': 'italic' });
                }
            });
            $('.passwordBox').focus(function (e) {
                if ($(this).val() == 'Password') {
                    $(this).val('').css({ 'color': '#000', 'font-style': 'normal' });
                }
            });
            $('.passwordBox').focusout(function (e) {
                if ($('.passwordBox').val() == '') {
                    $('.passwordBox').val('Password').css({ 'color': '#777', 'font-style': 'italic' });
                }
            });
        },

        bindPasswordCapsCheck: function () {

            // set up options for displaying of caps lock errors;
            var menu = $('#passwordAlert');
            var options = {
                caps_lock_on: function () {
                    clearTimeout($(this).data('timeoutId'));
                    $(menu).show();
                },
                caps_lock_off: function () {
                    var timeoutId = setTimeout(function () { $(menu).hide(); }, 650);
                    $(this).data('timeoutId', timeoutId);
                },
                caps_lock_undetermined: function () {
                }
            };

            $("input[type='password']").capslock(options);
        },

        bindLoginButton: function () {
            $('a#headerLoginButton').click(function (e) {
                e.preventDefault();
                $('#loginForm').submit();
            });
        }

    };
