﻿var Plan = {
    m_index: 0,
    m_count: 25,
    m_sort: "Planid",
    m_searchtext: "",

    GetPlans: function(t_knr, t_search) {
        DisplayWaitdiv();
        if (t_search) {
            WebPlan.AJAX.PlanInfo.SearchPlanByNameOrId(
                t_knr,
                this.m_searchtext,
                this.m_index,
                this.m_count,
                false,
                this._onGetPlansComplete,
                this._onGetPlansFailed
            );
        }
        else {
            WebPlan.AJAX.PlanInfo.GetSomePlansByMunicipality(
                t_knr,
                this.m_index,
                this.m_count,
                this.m_sort,
                this._onGetPlansComplete,
                this._onGetPlansFailed
            );
        }
    },

    _onGetPlansComplete: function(t_value) {
        SetGrid(t_value);
    },

    _onGetPlansFailed: function(t_value) {
        HideWaitdiv();
        SetGrid("Noe gikk galt ved henting av planliste");
    },

    GoToPage: function(t_knr, t_search, t_index) {
        this.m_index = t_index;
        this.GetPlans(t_knr, t_search);
    },

    Lookupplan: function(t_knr, t_planid) {
        WebPlan.AJAX.PlanInfo.GetPlanInfo(
            t_knr,
            t_planid,
            this._onLookupComplete,
            this._onLookupFailed
        );
    },

    _onLookupComplete: function(t_value) {
        updatePlanInfo(t_value);
        SetPlanTabSelected();
    },

    _onLookupFailed: function(t_value) {
        updatePlanInfo("Noe gikk galt under henting av planinformasjon");
        SetPlanTabSelected();
    },

    Searchplan: function(t_knr, t_searchstring) {
        DisplayWaitdiv();
        this.m_index = 0;
        this.m_searchtext = t_searchstring;
        WebPlan.AJAX.PlanInfo.SearchPlanByNameOrId(
            t_knr,
            t_searchstring,
            this.m_index,
            this.m_count,
            true,
            this._onGetPlansComplete,
            this._onGetPlansFailed
        );
    },

    Sort: function(t_knr, t_sortby, t_search) {
        this.m_sort = t_sortby;
        this.m_index = 0;

        if (t_search) {
            WebPlan.AJAX.PlanInfo.SortSearchResult(
                t_knr,
                this.m_searchtext,
                this.m_count,
                t_sortby,
                this._onGetPlansComplete,
                this._onGetPlansFailed
            );
        }
        else {
            this.GetPlans(t_knr, t_search);
        }
    }
}

