Mini Kabibi Habibi

Current Path : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/VB/MoneyMonkey/Mobile/Scripts/
Upload File :
Current File : C:/Users/Public/Documents/DXperience 13.1 Demos/ASP.NET/VB/MoneyMonkey/Mobile/Scripts/Script.js

window.app = window.app || {};
window.app.mobile = (function () {
    var headerHeight = 43;
    var controls = {
        Overview: [],
        Budget: [],
        Transactions: []
    }
    function adjustTabBar(docHeight) {
        TabBar.SetHeight(docHeight - headerHeight);
    }
    function adjust_overviewPage() {
        Overview_BudgetProgress.AdjustControl();
    }
    function adjust_budgetPage() {
        Budget_BudgetProgress.AdjustControl();
        AdjustControlsOnPage("Budget");
    }
    function adjust_transactionPage() {
        if(AddTransactionPopup && AddTransactionPopup.IsVisible())
            AddTransactionPopup.UpdatePosition();
    }
    function AdjustControlsOnPage(pageName){
        var controlsOnPage = controls[pageName];
        var length = controlsOnPage.length;
        for(var i = 0; i < length; i++) {
            if(controlsOnPage[i])
                controlsOnPage[i].AdjustControl();
        }
    }
    var adjustPageMethods = {
        0: adjust_overviewPage,
        1: adjust_budgetPage,
        2: adjust_transactionPage
    }
    
    return {
        onInit: function () {
            this.adjust();
            ASPxClientUtils.AttachEventToElement(window, "orientationchange", function () {
                ASPxClientTouchUI.ensureOrientationChanged(function () { app.mobile.adjust(); });
            }, false);
            
            if (ASPxClientUtils.webKitTouchUI)
                ASPxClientTouchUI.MakeScrollable("MainCallbackPanel_TabBar_CC");
            else
                ASPxClientUtils.AttachEventToElement(window, "resize", function () { app.mobile.adjust(); }, false);
            
            window.app.animation.pageChanged(TabBar, null);
        },
        onActiveTabChanged: function (s, e) {
            window.app.animation.pageChanged(s, e);
        },
        onTabBarEndCallback: function () {
            this.adjust();
        },
        adjust: function () {
            var docWidth = ASPxClientUtils.GetDocumentClientWidth();
            var docHeight = ASPxClientUtils.GetDocumentClientHeight();
            adjustTabBar(docHeight);

            var activeTabIndex = TabBar.GetActiveTabIndex();
            adjustPageMethods[activeTabIndex]();
        },
        registerControlOnPage: function (pageName, control) {
            if(controls[pageName] && _aspxArrayIndexOf(controls[pageName], control))
                controls[pageName].push(control);
        },

        goToBudgets: function(){
            TabBar.SetActiveTabIndex(1);
        },
        goToTransactions: function(){
            TabBar.SetActiveTabIndex(2);
        }
    }
})();