var Url_Manager = function(params){ this.params = params; } Url_Manager.prototype.refresh = function() { location.href = this.getUrl(); } Url_Manager.prototype.getParams = function() { var keys = Object.keys(this.params); var params = {}; for(var i=0;i 12){ paramValue = 1; this.params['year']++; }else{ if(paramValue < 1){ paramValue = 12; this.params['year']--; } } this.params['fromDate'] = ''; this.params['toDate'] = ''; break; case 'fromDate': if(this.params['type'] == 'weekly'){ this.params['year'] = ''; this.params['month'] = ''; this.params['toDate'] = ''; } break; } if(paramName != 'pageNo') this.params['pageNo'] = ''; this.params[paramName] = paramValue; } Url_Manager.prototype.gotoPage = function(page) { var self = this; self.changeParam('pageNo',page); self.refresh(); } Url_Manager.prototype.changeItemsPerPage = function(itemsPerPage){ var self = this; self.changeParam('onPage',itemsPerPage); self.changeParam('pageNo',1); self.refresh(); }; Url_Manager.prototype.getUrl = function() { var params = this.getParams(); var url = "/app/event/index?"+$.param(params); if(this.params['fromDate'] == this.params['toDate'] && this.params['toDate'] != '') url += "#events-list"; return url; } Url_Manager.prototype.getParamValue = function(key) { return this.params[key]; }