﻿namespace('nnet.fin');

nnet.fin.ShoppingCart = $j.klass({

    initialize: function() {
        onLogIn.subscribe(
            function(type, args) {
                try {
                    if (!args[0].IsStartUp) { NNet.CurrentUser.ShoppingCart.update(); }
                } catch (e) { logE("nnet.fin.ShoppingCart.onLogIn", e); }
            }
        );
    },

    // insert Service in category
    show: function() {
        try {
            var win = new nnet.PopUpWindow({ url: '/ShoppingCart/Edit', onClose: this.windowCloseHandler, minWidth: 500 });
            win.show();
        } catch (e) { logE("nnet.fin.ShoppingCart.show", e); }
    },

    windowCloseHandler: function() {
        try {
            NNet.CurrentUser.ShoppingCart.update();
        } catch (e) { logE("nnet.fin.ShoppingCart.windowCloseHandler", e); }
    },

    update: function() {
        try {
            FinCallback.HasShoppingCart(this.callBack, OnPageError);
        } catch (e) { logE("nnet.fin.ShoppingCart.windowCloseHandler", e); }
    },

    callBack: function(userHasShoppingCart) {  // Callback event.
        try {
            onShoppingCart.fire({ DisplyShoppingCart: userHasShoppingCart });
        } catch (e) { logE("nnet.fin.ShoppingCart.callBack", e); }
    }
});


