var CookieState = function(code, dateFilter, siteIds, checkedSiteIds) {
    this.code = code;
    this.dateFilter = dateFilter;
    this.siteIds = siteIds;
    this.checkedSiteIds = checkedSiteIds;
}

    CookieState.prototype.toCookie = function(){
        $.cookie("nt_graph_state", "{'code': '"+ this.code +"', 'dateFilter': '" + this.dateFilter + "', 'siteIds':'" + this.siteIds + "', 'checkedSiteIds': '" + this.checkedSiteIds + "'}", {expires: 7});
    }

    CookieState.fromCookie = function() {
        return eval("(" + $.cookie("nt_graph_state") + ")");
    }

var ViewState = new Object();
    ViewState.codeTrigger = function(code){
        var estimateInd = code.indexOf("ESTIMATE_");
        $('ul.selectType a#' + (estimateInd > -1? code.substring(9, code.length): code) + "'").each(function(){
            $("li.active").removeClass('active');
            $(this).parent().parent().addClass('active');
            currentCode=code;
        });
        estimateTrigger(code);
    }

    ViewState.dateFilterTrigger = function(dateFilter){
        $('div.sort a').removeClass('active');
        $('div.sort a#' + dateFilter + "'").each(function(){
            $(this).addClass('active');
            upplyDateFilter(dateFilter);
        });
    }

    ViewState.restore = function(cookieState){
        ViewState.codeTrigger(cookieState.code);
        ViewState.dateFilterTrigger(cookieState.dateFilter);
    }

