﻿$(function() {
    MST_SetupMailingListDialog();
    MST_SetupGroupedProductBoxes();
    MST_SetupShoppingCartDialog();
    MST_RemoveFontMarkup(); // May not be desirable...
    MST_SetupGentleScroll();
    MST_SetupLoginDialog();

    if (mst_loggedIn) {
        $('.showIfLoggedIn').show();
        $('.showIfLoggedOut').hide();
    }else{
        $('.showIfLoggedOut').show();
        $('.showIfLoggedIn').hide();
    }
});

function MST_SetupLoginDialog() {
    if ($('#LoginDialog').length == 0) {return;}
    $('#LoginDialog').dialog({
        autoOpen: false,
        modal: true,
        height: 400,
        width: 600,
        buttons: {
            Login: function() {
                if ($('#LoginDialogUsername').val() != "" && $('#LoginDialogPassword').val() != "") {
                    if (GLB_ValidEmailAddressInput($('#LoginDialogUsername').val(), 'LoginDialogUsername')) {
                        MST_LoginShowWaiting();
                        GLB_AttemptLogin($('#LoginDialogUsername').val(), $('#LoginDialogPassword').val(),
                        function(result) {
                            if (result.d) {
                                MST_LoginShowSuccess();
                                /*$('#LoginDialog').bind('dialogclose', function(event) {
                                window.location = window.location + '';
                                });*/
                                $('#LoginDialog').dialog('option', 'buttons', {
                                    close: function() { $(this).dialog('close'); window.location = window.location + ''; }
                                });
                            } else {
                                MST_LoginShowError("Incorrect username and / or password");
                            }
                        }
                        ,
                        function(result) {
                            MST_LoginShowError("Sorry but their seems to be a technical difficulty at the moment.");
                        })
                    } else {
                        MST_LoginShowError("Please enter a valid email address");
                    }
                } else {
                    MST_LoginShowError("Please provide your user name and password");
                }
            },
            Close: function() {
                $(this).dialog('close');
            }
        }
    });
    GLB_RegisterDefaultText('LoginDialogUsername');
    $('.openSignInDialog').click(function () {
        $('#LoginDialog').dialog('open'); 
        return false; 
    });
    $('.openSignOutDialog').click(function() { GLB_SignOut(); return false; });
}
function MST_LoginShowWaiting() {
    $('#LoginFailure').css('visibility', 'hidden').hide();
    $('#LoginSuccess').css('visibility', 'hidden').hide();
    $('#LoginWaiting').css('visibility', 'visible').show();
}
function MST_LoginShowError(str) {
    $('#LoginWaiting').css('visibility', 'hidden').hide();
    $('#LoginSuccess').css('visibility', 'hidden').hide();
    $('#LoginFailure').css('visibility', 'visible').show().html(str);
}
function MST_LoginShowSuccess() {
    $('#LoginFailure').css('visibility', 'hidden').hide();
    $('#LoginWaiting').css('visibility', 'hidden').hide();
    $('#LoginSuccess').css('visibility', 'visible').show();
}






function MST_SetupMailingListDialog(){
   $('#joinMailingListDialog').dialog({
        autoOpen: false,
        modal: true,
        height: 400,
        width: 600,
        buttons: {
            Add: function() {
            if (GLB_ValidEmailAddressInput($('#emailToAddToMailingList').val(), 'emailToAddToMailingList')) {
                    $(this).html('One moment...');
                } else {
                    $('#mailingListEmailError').css('visibility', 'visible');
                }
            },
            Close: function() {
                $(this).dialog('close');
            }
        }
    });

    GLB_RegisterDefaultText('emailToAddToMailingList');

    $('.JoinOurMailingList').click(function() {$('#joinMailingListDialog').dialog('open');return false; });
}
function MST_SetupGroupedProductBoxes() {
    $('.groupedProductBox').css('cursor', 'pointer').click(function() { window.location = $(this).find('a:first-child').attr('href'); });
}
function MST_SetupShoppingCartDialog() {
    $('#ShoppingCart').dialog({
        autoOpen: false,
        modal: true,
        height: 400,
        width: 600,
        buttons: {
            'Go To Checkout': function() {
                window.location = "Checkout.aspx";
            },
            'Continue Shopping': function() {
                $(this).dialog('close');
            }
        }
    });

    $('.addToCart').click(function() {$('#ShoppingCart').dialog('open');});
}
function MST_RemoveFontMarkup() {
    $("font").each(function() {
        var attributes = $.map(this.attributes, function(item) {
            return item.name;
        });
        var _this = $(this);
        $.each(attributes, function(i, item) {
            _this.removeAttr(item);
        });
    });
}
function MST_SetupGentleScroll() {
    $('.linkToTopOfPage').click(function() {
        $('html, body').animate({ scrollTop: 0 }, 'slow');
        return false;
    });
}
