﻿$(document).ready(function () {
    // 2011-08-17 - TDM - TTP #73807 Removed this function as it does not work properly 
    // Javascript issues posting from http to https
    //    $("#homeLoginForm").submit(function (e) {
    //        var url = '/Account/Logon';
    //        $.post(url, $(this).serialize(), logOnCallback);
    //        return false;
    //    });      

    // in IE the watermark didn't allow the user to save their login information through the browser
    // temp workaround is below
    if ($.browser.msie) {
        $('#homeLoginForm input[name="Username"]').addClass('lightGreyFont');
        $('#homeLoginForm input[name="Username"]').val("Email Address/Username");
        $('#homeLoginForm input[name="Username"]').bind("focusin", function () {
            $('#homeLoginForm input[name="Username"]').val("");
            $('#homeLoginForm input[name="Username"]').removeClass('lightGreyFont');
        });
        $('#homeLoginForm input[name="Username"]').bind("focusout", function () {
            if ($('#homeLoginForm input[name="Username"]').val() == '') {
                $('#homeLoginForm input[name="Username"]').val("Email Address/Username");
                $('#homeLoginForm input[name="Username"]').addClass('lightGreyFont');
            }
        });
    }
    else {
        $('#homeLoginForm input[name="Username"]').watermark('Email Address/Username', { className: 'lightGreyFont' });
        $('#homeLoginForm input[name="Password"]').watermark('Password', { className: 'lightGreyFont' });
    }

    $("#quickItemNumber").keyup(function (event) {
        if (event.keyCode >= 48 && event.keyCode <= 57) {
            if (this.value.length == (11 - 2)) {  // barcode or number without -'s
                var inputs = $(this).closest('form').find(':input');
                inputs.eq(inputs.index(this) + 1).focus();
            }
        }
    });

    // modal setup for one time information
    var oneTimePopupHTML = '<div><img src="/Images/ajaxLoader.gif" alt="Processing"/></div>';
    var $dialog2 = $(oneTimePopupHTML)
			        .dialog({
			            autoOpen: false,
			            width: 700,
			            height: 325,
			            modal: true,
			            closeOnEscape: false,
			            resizable: false
			        });

    function logOnCallback(data) {
        if (data.HasInvalidCredentials == true) {
            var errorMsgCenter = document.getElementById("errorMsgCenter");
            if (errorMsgCenter != null) {
                // we are on the main logon page, not the home screen

                if (data.UserName) {
                    $("#txtUserName").removeClass("input-validation-error");
                }
                else {
                    $("#txtUserName").addClass("input-validation-error");
                    $("#txtUserName").focus();
                }

                if (data.Password) {
                    $("#txtPassword").removeClass("input-validation-error");
                    if (data.UserName) {
                        $("#txtPassword").focus();
                    }
                }
                else {
                    $("#txtPassword").addClass("input-validation-error");
                    if (data.UserName) {
                        setTimeout(function () {
                            $("#txtPassword").focus();
                        }, 100);
                    }
                }

                // always remove the password for invalid credentials
                $("#txtPassword").val('');


                if (data.UserName && data.Password) {
                    $("#txtPassword").focus();
                }

                if (data.ErrorMessage) {
                    errorMessage = data.ErrorMessage.replace(";", "<br />");
                }

                $("#errorMsgCenter").html(errorMessage);
            }
            else {
                var encodedErrorMessage = encodeURI(data.ErrorMessage);
                var url = '/Account/Logon' + '?returnUrl=' + data.ReturnUrl + '&errorMessage=' + encodedErrorMessage;
                if (data.UserName) {
                    url += '&userName=' + data.UserName;
                    if (data.Password) {
                        url += '&invalidUserNamePassword=true';
                    }
                }
                else {
                    if (data.Password) {
                        url += '&userNameNotProvided=true';
                    }
                }
                parent.location.href = url;
            }
            return false;
        }

        if (data.IsApproved == false) {
            url = '/Account/RegisterThankYou';
            parent.location.href = url;
            return false;
        }

        if (data.IsOneTimeInformationRequired == true) {
            var ts = new Date().getTime();
            url = '/Account/OneTimeInformation?usePartial=true&username=' + data.UserName + '&returnUrl=' + data.ReturnUrl + "&" + ts;

            // load one time information page into dialog
            $dialog2.load(url);

            $dialog2.dialog('open');
            return false;
        }

        url = data.ReturnUrl;
        if ((url == null) || (url.length == 0)) {
            url = '/Home/Index';
        }
        parent.location.href = url;
    }
});    
