diff --git a/.gitignore b/.gitignore
index 08877f2..6e22246 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
.c9
+/lib/sql_logins.php
diff --git a/css/jplist-core.min.css b/css/jplist-core.min.css
new file mode 100644
index 0000000..4954527
--- /dev/null
+++ b/css/jplist-core.min.css
@@ -0,0 +1 @@
+/**
jPList - jQuery Data Grid Controls - http://jplist.com
Copyright 2014 jPList Software. All rights reserved.
*/
.jplist-hidden{display:none}.jplist-sticky{position:fixed;width:100%;left:0;top:0;z-index:1000;background:#f1f1f1;padding-bottom:5px}.sticky-demo .panel>.center{max-width:100%}.sticky-demo .jplist-sticky>.center{max-width:95%}.no-cssgradients .jplist-panel button:hover{background:#f4f4f4}.jplist-panel{color:#27252a}.jplist-panel button{float:left;height:30px;box-shadow:0 0 1px #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;background:#fff;background:-moz-linear-gradient(top, #fff 0, #efefef 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #efefef));background:-webkit-linear-gradient(top, #fff 0, #efefef 100%);background:-o-linear-gradient(top, #fff 0, #efefef 100%);background:-ms-linear-gradient(top, #fff 0, #efefef 100%);background:linear-gradient(to bottom, #fff 0, #efefef 100%);margin:10px 10px 0 0}.jplist-panel button:hover{color:#0381bb;background:#f2f2f2;background:-moz-linear-gradient(top, #fafafa 0, #ededed 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(100%, #ededed));background:-webkit-linear-gradient(top, #fafafa 0, #ededed 100%);background:-o-linear-gradient(top, #fafafa 0, #ededed 100%);background:-ms-linear-gradient(top, #fafafa 0, #ededed 100%);background:linear-gradient(to bottom, #fafafa 0, #ededed 100%)}.jplist-panel button.jplist-disabled{background:#e3e3e3;color:#6c6c6c;cursor:default}.jplist-panel button.jplist-selected{color:#f03800}.jplist-panel input[type="text"]{float:left;height:30px;box-shadow:0 0 1px #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;width:150px;text-indent:5px;background:#fff}.jplist-panel input[type="checkbox"],.jplist-panel input[type="radio"]{float:left;display:inline-block;height:30px;background:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;color:#27252a}.jplist-panel label{float:left;height:30px;line-height:30px;padding:0 5px;display:inline-block;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;color:#27252a;cursor:pointer}.jplist-icon{float:left;height:30px;box-shadow:0 0 1px #fff;background:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;display:inline-block;line-height:30px;padding:0 10px;border-right:0}.jplist-icon:hover{color:#0381bb}.jplist-label{float:left;height:30px;box-shadow:0 0 1px #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;line-height:30px;padding:0 10px;margin:10px 10px 0 0;background:#fff;background:-moz-linear-gradient(top, #fff 0, #efefef 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #efefef));background:-webkit-linear-gradient(top, #fff 0, #efefef 100%);background:-o-linear-gradient(top, #fff 0, #efefef 100%);background:-ms-linear-gradient(top, #fff 0, #efefef 100%);background:linear-gradient(to bottom, #fff 0, #efefef 100%)}.jplist-selected{color:#ca3f1a}.jplist-box{float:left;height:30px;margin:10px 10px 0 0}@media only screen and (max-width:600px){.jplist-panel{display:none}}.jplist-drop-down{float:left;height:30px;box-shadow:0 0 1px #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;width:150px;background:#fff;background:-moz-linear-gradient(top, #fff 0, #efefef 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #efefef));background:-webkit-linear-gradient(top, #fff 0, #efefef 100%);background:-o-linear-gradient(top, #fff 0, #efefef 100%);background:-ms-linear-gradient(top, #fff 0, #efefef 100%);background:linear-gradient(to bottom, #fff 0, #efefef 100%);margin:10px 10px 0 0;position:relative}.jplist-drop-down .jplist-dd-panel{float:left;width:150px;height:30px;line-height:30px;overflow:hidden;text-indent:10px;cursor:pointer}.jplist-drop-down .jplist-dd-panel:after{content:'\25BC';color:#111;display:inline-block;position:absolute;right:10px;z-index:1000}.jplist-drop-down ul{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:0 0 3px 3px;position:relative;top:0;z-index:1000;width:148px;display:none;overflow:hidden;background:#fff;list-style:none;margin:0;padding:0;box-shadow:0 3px 6px #bbb}.jplist-drop-down ul li{width:100%;float:left;height:30px;line-height:30px;text-indent:10px;cursor:pointer}.jplist-drop-down ul li:hover{background-color:#ececec}.jplist-drop-down:hover .jplist-dd-panel{color:#0381bb}.jplist-drop-down:hover .jplist-dd-panel:after{color:#0381bb}.jplist-select{height:30px;box-shadow:0 0 1px #fff;background:#fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;float:left;margin:10px 10px 0 0;padding:5px;text-shadow:none}.jplist-ios-button{display:none}@media only screen and (max-width:600px){.jplist-ios-button{display:block;width:100%;text-align:center;cursor:pointer;font-size:15px;line-height:30px;float:left;height:30px;box-shadow:0 0 1px #fff;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-ms-box-sizing:border-box;-o-box-sizing:border-box;box-sizing:border-box;border:1px solid #dbdbdb;border-radius:3px;text-shadow:1px 1px 1px #fff;color:#27252a;background:#fff;background:-moz-linear-gradient(top, #fff 0, #efefef 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fff), color-stop(100%, #efefef));background:-webkit-linear-gradient(top, #fff 0, #efefef 100%);background:-o-linear-gradient(top, #fff 0, #efefef 100%);background:-ms-linear-gradient(top, #fff 0, #efefef 100%);background:linear-gradient(to bottom, #fff 0, #efefef 100%)}.jplist-ios-button:hover{background:#f2f2f2;background:-moz-linear-gradient(top, #fafafa 0, #ededed 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(100%, #ededed));background:-webkit-linear-gradient(top, #fafafa 0, #ededed 100%);background:-o-linear-gradient(top, #fafafa 0, #ededed 100%);background:-ms-linear-gradient(top, #fafafa 0, #ededed 100%);background:linear-gradient(to bottom, #fafafa 0, #ededed 100%)}.jplist-ios-show{display:block}}
\ No newline at end of file
diff --git a/css/jplist-pagination-bundle.min.css b/css/jplist-pagination-bundle.min.css
new file mode 100644
index 0000000..9ebfe90
--- /dev/null
+++ b/css/jplist-pagination-bundle.min.css
@@ -0,0 +1 @@
+/**
jPList - jQuery Data Grid Controls - http://jplist.com
Copyright 2014 jPList Software. All rights reserved.
*/
.jplist-panel .jplist-pagination{cursor:pointer;float:left;line-height:30px}.jplist-panel .jplist-pagination button{display:inline-block;color:#0381bb;height:30px;line-height:30px;padding:0 10px}.jplist-panel .jplist-pagination .jplist-current{font-weight:bold;color:#f03800}.jplist-panel .jplist-pagination .jplist-pagingprev,.jplist-panel .jplist-pagination .jplist-pagingmid,.jplist-panel .jplist-pagination .jplist-pagingnext{float:left}.jplist-panel .jplist-pagination .jplist-pagingprev button,.jplist-panel .jplist-pagination .jplist-pagingnext button{font-size:20px;font-family:"Courier New",Courier,monospace}.jplist-one-page{display:none}.jplist-empty{display:none}
\ No newline at end of file
diff --git a/css/jplist-textbox-control.min.css b/css/jplist-textbox-control.min.css
new file mode 100644
index 0000000..94d6706
--- /dev/null
+++ b/css/jplist-textbox-control.min.css
@@ -0,0 +1 @@
+/**
jPList - jQuery Data Grid Controls - http://jplist.com
Copyright 2014 jPList Software. All rights reserved.
*/
.jplist-panel .text-filter-box{height:30px;float:left;margin:10px 10px 0 0}.jplist-panel .text-filter-box .jplist-icon{background:#e8eff9}.jplist-panel .text-filter-box .jplist-label{margin:0;border-right:0;background:#f1f1f1}.jplist-panel .text-filter-box button{margin:0;border-left:0;padding:0 10px}
\ No newline at end of file
diff --git a/css/styles.css b/css/styles.css
index 0442bac..476e88f 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -313,7 +313,7 @@ label[for="rememberme"] {
.leg_img {
position: relative;
width: 100%;
-
+ z-index: auto;
}
.leg_img h2 {
position: absolute;
diff --git a/index.1.php b/index.1.php
new file mode 100644
index 0000000..7274eec
--- /dev/null
+++ b/index.1.php
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ jPList Actions
+
+
+
+ ...
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+ ...
+
+
+ ...
+
+
+
+
+
+
+
+
+ getBills();
+
+ foreach ($bill_list as $bill) {
+ $action_date = last_action($bill["bill_id"]) ?>
+
+
Active Bills
+
+
Last Action:
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/jplist_test b/jplist_test
new file mode 100644
index 0000000..9cc7a4c
--- /dev/null
+++ b/jplist_test
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+ Filter bills:
+
+
+
+
+
+
+
+
+
+
+
+ ...
+
+
+
+
+ ...
+
+
+ ...
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/js/jplist/jplist-core.min.js b/js/jplist/jplist-core.min.js
new file mode 100644
index 0000000..b8f602f
--- /dev/null
+++ b/js/jplist/jplist-core.min.js
@@ -0,0 +1,76 @@
+/*
+ jPList - jQuery Data Grid Controls - http://jplist.com
+ Copyright 2011 - 2015 Miriam Zusin.
+ The MIT License (MIT) http://opensource.org/licenses/MIT
+*/
+(function(){var d=function(b,a,e){switch(a){case "add":b&&(b.controller&&b.controller.collection&&e.$item)&&(a=b.controller.collection.dataitems.length,jQuery.isNumeric(e.index)&&(0<=e.index&&e.index<=b.controller.collection.dataitems.length)&&(a=Number(e.index)),b.controller.collection.addDataItem(e.$item,b.controller.collection.paths,a),b.observer.trigger(b.observer.events.unknownStatusesChanged,[!1]));break;case "del":b&&(b.controller&&b.controller.collection&&e.$item)&&(b.controller.collection.delDataitem(e.$item),
+e.$item.remove(),b.observer.trigger(b.observer.events.unknownStatusesChanged,[!1]));break;case "getDataItems":e=null;if(b.options&&b.options.dataSource)switch(b.options.dataSource.type){case "html":b.controller&&b.controller.collection&&(e=b.controller.collection.dataitems);break;case "server":b.controller&&(b.controller.model&&b.controller.model.dataItem)&&(e=b.controller.model.dataItem)}return e}},c=function(b,a){var e={observer:null,panel:null,controller:null,$root:a};e.options=jQuery.extend(!0,
+{debug:!1,command:"init",commandData:{},itemsBox:".list",itemPath:".list-item",panelPath:".panel",noResults:".jplist-no-results",redrawCallback:"",iosBtnPath:".jplist-ios-button",animateToTop:"html, body",animateToTopDuration:0,effect:"",duration:300,fps:24,storage:"",storageName:"jplist",cookiesExpiration:-1,deepLinking:!1,hashStart:"#",delimiter0:":",delimiter1:"|",delimiter2:"~",delimiter3:"!",historyLength:10,dataSource:{type:"html",server:{ajax:{url:"server.php",dataType:"html",type:"POST"},
+serverOkCallback:null,serverErrorCallback:null},render:null}},b);e.observer=new jQuery.fn.jplist.app.events.PubSub(e.$root,e.options);e.history=new jQuery.fn.jplist.app.History(e.$root,e.options,e.observer);e.panel=new jQuery.fn.jplist.ui.panel.controllers.PanelController(a,e.options,e.history,e.observer);e.options.dataSource=e.options.dataSource||{};e.options.dataSource.type=e.options.dataSource.type||"html";jQuery.fn.jplist.info(e.options,"Data Source Type: ",e.options.dataSource.type);switch(e.options.dataSource.type){case "html":e.controller=
+new jQuery.fn.jplist.ui.list.controllers.DOMController(e.$root,e.options,e.observer,e.panel,e.history);break;case "server":jQuery.fn.jplist.info(e.options,"Data Source: ",e.options.dataSource),e.controller=new jQuery.fn.jplist.ui.list.controllers.ServerController(e.$root,e.options,e.observer,e.panel,e.history)}e.observer.trigger(e.observer.events.init,[]);return jQuery.extend(this,e)};jQuery.fn.jplist=function(b){if(b.command&&"init"!==b.command){var a;if(a=this.data("jplist"))return d(a,b.command,
+b.commandData)}else return this.each(function(){var a,d=jQuery(this);a=new c(b,d);d.data("jplist",a)})};jQuery.fn.jplist.controlTypes={};jQuery.fn.jplist.itemControlTypes={};jQuery.fn.jplist.settings={};jQuery.fn.jplist.app=jQuery.fn.jplist.app||{};jQuery.fn.jplist.app.services=jQuery.fn.jplist.app.services||{};jQuery.fn.jplist.app.services.DTOMapperService=jQuery.fn.jplist.app.services.DTOMapperService||{};jQuery.fn.jplist.app.dto=jQuery.fn.jplist.app.dto||{};jQuery.fn.jplist.app.events=jQuery.fn.jplist.app.events||
+{};jQuery.fn.jplist.domain=jQuery.fn.jplist.domain||{};jQuery.fn.jplist.domain.dom=jQuery.fn.jplist.domain.dom||{};jQuery.fn.jplist.domain.dom.models=jQuery.fn.jplist.domain.dom.models||{};jQuery.fn.jplist.domain.dom.collections=jQuery.fn.jplist.domain.dom.collections||{};jQuery.fn.jplist.domain.dom.services=jQuery.fn.jplist.domain.dom.services||{};jQuery.fn.jplist.domain.dom.services.FiltersService=jQuery.fn.jplist.domain.dom.services.FiltersService||{};jQuery.fn.jplist.domain.dom.services.SortService=
+jQuery.fn.jplist.domain.dom.services.SortService||{};jQuery.fn.jplist.domain.dom.services.pagination=jQuery.fn.jplist.domain.dom.services.pagination||{};jQuery.fn.jplist.domain.server=jQuery.fn.jplist.domain.server||{};jQuery.fn.jplist.domain.server.models=jQuery.fn.jplist.domain.server.models||{};jQuery.fn.jplist.domain.deeplinks=jQuery.fn.jplist.domain.deeplinks||{};jQuery.fn.jplist.domain.deeplinks.services=jQuery.fn.jplist.domain.deeplinks.services||{};jQuery.fn.jplist.dal=jQuery.fn.jplist.dal||
+{};jQuery.fn.jplist.dal.services=jQuery.fn.jplist.dal.services||{};jQuery.fn.jplist.ui=jQuery.fn.jplist.ui||{};jQuery.fn.jplist.ui.list=jQuery.fn.jplist.ui.list||{};jQuery.fn.jplist.ui.list.models=jQuery.fn.jplist.ui.list.models||{};jQuery.fn.jplist.ui.list.controllers=jQuery.fn.jplist.ui.list.controllers||{};jQuery.fn.jplist.ui.list.collections=jQuery.fn.jplist.ui.list.collections||{};jQuery.fn.jplist.ui.list.views=jQuery.fn.jplist.ui.list.views||{};jQuery.fn.jplist.ui.controls=jQuery.fn.jplist.ui.controls||
+{};jQuery.fn.jplist.ui.itemControls=jQuery.fn.jplist.ui.itemControls||{};jQuery.fn.jplist.ui.statuses=jQuery.fn.jplist.ui.statuses||{};jQuery.fn.jplist.ui.panel=jQuery.fn.jplist.ui.panel||{};jQuery.fn.jplist.ui.panel.controllers=jQuery.fn.jplist.ui.panel.controllers||{};jQuery.fn.jplist.ui.panel.collections=jQuery.fn.jplist.ui.panel.collections||{}})();(function(){var d=function(c,b){var a={options:b,$root:c,events:{},events:{init:"1",unknownStatusesChanged:"2",knownStatusesChanged:"3",statusChanged:"4",statusesChangedByDeepLinks:"5",listSorted:"6",listFiltered:"7",listPaginated:"8",dataItemAdded:"9",dataItemRemoved:"10",collectionReadyEvent:"11",statusesAppliedToList:"12",animationStartEvent:"13",animationStepEvent:"14",animationCompleteEvent:"15"}};return jQuery.extend(!0,jQuery({}),this,a)};jQuery.fn.jplist.app.events.PubSub=function(c,b){return new d(c,
+b)}})();(function(){jQuery.fn.jplist.app.dto.StatusDTO=function(d,c,b,a,e,h,f,g){this.action=c;this.name=d;this.type=b;this.data=a;this.inStorage=e;this.inAnimation=h;this.isAnimateToTop=f;this.inDeepLinking=g}})();(function(){var d=function(c,b,a){return jQuery.extend(this,{options:b,observer:a,$root:c,statusesQueue:[],listStatusesQueue:[]})};d.prototype.addStatus=function(c){this.statusesQueue.push(c);this.statusesQueue.length>this.options.historyLength&&this.statusesQueue.shift()};d.prototype.getLastStatus=function(){var c=null;0this.options.historyLength&&this.listStatusesQueue.shift()};d.prototype.popList=function(){var c=null;0c-1&&(d=0);this.currentPage=d;this.start=this.currentPage*this.itemsOnPage;d=this.itemsNumber;c=this.start+this.itemsOnPage;c>d&&(c=d);this.end=c;d=this.currentPage;this.prevPage=0>=d?0:d-1;d=this.currentPage;
+c=this.pagesNumber;this.nextPage=0===c?0:d>=c-1?c-1:d+1}})();(function(){jQuery.fn.jplist.domain.dom.services.PaginationGoogleService=function(d,c,b){b=Number(b);isNaN(b)&&(b=0);b=this.itemsNumber=b;null===c?c=b:(c=Number(c),isNaN(c)&&(c=b));this.itemsOnPage=c;c=(c=this.itemsOnPage)?Math.ceil(this.itemsNumber/c):0;c=this.pagesNumber=c;d=Number(d);isNaN(d)&&(d=0);d>c-1&&(d=0);this.currentPage=d;this.start=this.currentPage*this.itemsOnPage;d=this.itemsNumber;c=this.start+this.itemsOnPage;c>d&&(c=d);this.end=c;d=this.currentPage;this.prevPage=0>=d?0:d-1;d=this.currentPage;
+c=this.pagesNumber;this.nextPage=0===c?0:d>=c-1?c-1:d+1}})();(function(){jQuery.fn.jplist.domain.dom.services.FiltersService.autocompleteFilter=function(d,c,b,a,e){var h=[],f,g;if(jQuery.isNumeric(d)&&jQuery.isNumeric(c)&&google&&jQuery.fn.jlocator&&jQuery.fn.jlocator.store){d=new google.maps.LatLng(d,c);for(var k=0;k=n&&p<=q&&l.push(m);return l}})();(function(){jQuery.fn.jplist.domain.dom.services.FiltersService.pagerFilter=function(d,c){return c.slice(d.start,d.end)}})();(function(){jQuery.fn.jplist.domain.dom.services.FiltersService.pathFilter=function(d,c){for(var b,a,e=[],h=0;h=d.length)return c;for(e=0;e=e&&f<=h&&b.push(a):g&&!k?f>=e&&b.push(a):!g&&k&&f<=h&&b.push(a));return b}})();(function(){var d=function(a){var e=[],b;if(a)for(var c=0;c=d.length)return e;g=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(b,null);for(var n=0;n=h.length)return b;for(a=0;ae?1:-1:ad?1:-1:e"+c;return a+=""+b+">"};jQuery.fn.jplist.domain.dom.services.HelperService.removeCharacters=function(b,a){return!b?"":b.replace(RegExp(a,"ig"),"").toLowerCase()};jQuery.fn.jplist.domain.dom.services.HelperService.formatDateTime=function(b,a){var e,h,f,g,k,l;a=a.replace(/\./g,"\\.");a=a.replace(/\(/g,"\\(");a=a.replace(/\)/g,"\\)");a=a.replace(/\[/g,"\\[");a=a.replace(/\]/g,"\\]");e=
+a.replace("{year}","(.*)");(h=c(e,b))&&(h=d("{year}",h));e=a.replace("{day}","(.*)");(g=c(e,b))&&(g=d("{day}",g));e=a.replace("{month}","(.*)");(f=c(e,b))&&(f=d("{month}",f));e=a.replace("{hour}","(.*)");(k=c(e,b))&&(k=d("{hour}",k));e=a.replace("{min}","(.*)");(l=c(e,b))&&(l=d("{min}",l));e=a.replace("{sec}","(.*)");(e=c(e,b))&&(e=d("{sec}",e));if(!h||isNaN(h))h=1900;if(!f||isNaN(f))f=0;if(!g||isNaN(g))g=1;if(!k||isNaN(k))k=0;if(!l||isNaN(l))l=0;if(!e||isNaN(e))e=0;return new Date(h,f,g,k,l,e)}})();(function(){jQuery.fn.jplist.domain.deeplinks.services.DeepLinksService={};jQuery.fn.jplist.domain.deeplinks.services.DeepLinksService.getUrlParams=function(d){var c=[],b,a=[],e,c=window.decodeURIComponent(jQuery.trim(window.location.hash.replace(d.hashStart,"")));if(d.deepLinking&&""!==jQuery.trim(c))for(var c=c.split(d.delimiter1),h=0;ha.progress?c(a,b):d(a)},a.delay):d(a)},b=function(a,b,c){a={$scene:a,options:b,observer:c,start:null,progress:0,delay:null,handler:null};a.delay=1E3/a.options.fps;return jQuery.extend(this,a)};b.prototype.play=function(a){c(this,a)};b.prototype.stop=function(){d(this)};jQuery.fn.jplist.animation.Timeline=function(a,e,c){return new b(a,e,c)}})();(function(){jQuery.fn.jplist.animation.fade={};jQuery.fn.jplist.animation.fade.before=function(d,c,b,a){};jQuery.fn.jplist.animation.fade.effect=function(d,c,b,a,e){c.find(d.itemPath).css({opacity:(100-e)/100})};jQuery.fn.jplist.animation.fade.after=function(d,c,b,a){c.empty();a.css({opacity:1});c.append(a)}})();(function(){var d=function(a,b,c){var d=b.dataitemsToJqueryObject(),g=b.dataviewToJqueryObject(),k=!1,l,m=jQuery.extend(!0,{},a.options,{duration:0});0>=d.length||0>=g.length?(a.$noResults.removeClass("jplist-hidden"),a.$itemsBox.addClass("jplist-hidden"),jQuery.isFunction(a.options.redrawCallback)&&a.options.redrawCallback(b,g,c)):(a.$noResults.addClass("jplist-hidden"),a.$itemsBox.removeClass("jplist-hidden"),a.options.effect?(a.history&&(l=a.history.getLastStatus())&&!l.inAnimation&&(k=!0),k=k?
+m:a.options,jQuery.fn.jplist.animation.drawItems(k,a.$itemsBox,d,g,a.options.effect,a.timeline,function(){jQuery.isFunction(a.options.redrawCallback)&&a.options.redrawCallback(b,g,c)},a.observer)):(d.detach(),a.$itemsBox.append(g),jQuery.isFunction(a.options.redrawCallback)&&a.options.redrawCallback(b,g,c)))},c=function(a){a.observer.on(a.observer.events.statusesAppliedToList,function(b,c,f){d(a,c,f)})},b=function(a,b,d,f){a={options:b,$root:a,observer:d,history:f,timeline:null,timelineZero:null,
+$itemsBox:a.find(b.itemsBox).eq(0),$noResults:a.find(b.noResults)};a.options.effect&&(a.timeline=new jQuery.fn.jplist.animation.Timeline(a.$root,a.options,a.observer));c(a);return jQuery.extend(this,a)};jQuery.fn.jplist.ui.list.views.DOMView=function(a,e,c,d){return new b(a,e,c,d)}})();(function(){var d=function(b){b.observer.on(b.observer.events.knownStatusesChanged,function(a,e){b.storage.save(e);b.collection&&b.collection.applyStatuses(e)})},c=function(b,a,e,c,f){b={options:a,observer:e,$root:b,history:f,storage:new jQuery.fn.jplist.dal.Storage(b,a,e),collection:null,itemControls:null,listView:null};b.itemControls=new jQuery.fn.jplist.ui.list.collections.ItemControlCollection(b.options,b.observer,b.history,b.$root);b.listView=new jQuery.fn.jplist.ui.list.views.DOMView(b.$root,
+b.options,b.observer,b.history);c=c.paths;a=b.$root.find(b.options.itemsBox).eq(0).find(b.options.itemPath);c=new jQuery.fn.jplist.domain.dom.collections.DataItemsCollection(b.options,b.observer,a,c);b.collection=c;d(b);return jQuery.extend(this,b)};c.prototype.renderStatuses=function(b){this.storage.save(b);this.collection&&this.collection.applyStatuses(b)};jQuery.fn.jplist.ui.list.controllers.DOMController=function(b,a,e,d,f){return new c(b,a,e,d,f)}})();(function(){var d=function(b){b.observer.on(b.observer.events.knownStatusesChanged,function(a,e){var c="html";b.options.dataSource&&(b.options.dataSource.server&&b.options.dataSource.server.ajax)&&((c=b.options.dataSource.server.ajax.dataType)||(c="html"));b.storage.save(e);jQuery.fn.jplist.dal.services.URIService.get(e,b.options,function(a,e,d,l){a=new jQuery.fn.jplist.domain.server.models.DataItemModel(a,c,l.responseText);var m;d=(new jQuery.fn.jplist.app.dto.StatusesDTOCollection(b.options,b.observer,
+e)).getStatusesByAction("paging",e);for(l=0;lc?a.addClass("jplist-sticky"):a.removeClass("jplist-sticky"))},c=function(a,b){b.each(function(){var a=jQuery(this),b=a.offset().top;a.data("top",b);d(a)});jQuery(window).scroll(function(){b.each(function(){d(jQuery(this))})})},b=function(b){var c=[];if("cookies"===b.options.storage||"localstorage"===b.options.storage&&jQuery.fn.jplist.dal.services.LocalStorageService.supported())if(jQuery.fn.jplist.info(b.options,
+"Storage enabled: ",b.options.storage),"cookies"===b.options.storage&&(c=jQuery.fn.jplist.dal.services.CookiesService.restoreCookies(b.options.storageName)),"localstorage"===b.options.storage&&jQuery.fn.jplist.dal.services.LocalStorageService.supported()&&(c=jQuery.fn.jplist.dal.services.LocalStorageService.restore(b.options.storageName)),0=a.length?b(c):c.controls.setDeepLinks(a)):b(c)});c.observer.on(c.observer.events.statusesAppliedToList,
+function(a,b,e){jQuery.fn.jplist.info(c.options,"panel statusesAppliedToList -> setControlsStatuses: ",e);c.controls.setStatuses(e,!1);c.history.addList(e)});c.observer.on(c.observer.events.unknownStatusesChanged,function(b,e){jQuery.fn.jplist.info(c.options,"panel statusesChanged, isDefault: ",e);a(c,e)});c.observer.on(c.observer.events.statusChanged,function(a,b){jQuery.fn.jplist.info(c.options,"panel statusChanged: ",b);var e;b.isAnimateToTop&&(e=jQuery(c.options.animateToTop).offset().top,jQuery("html, body").animate({scrollTop:e},
+c.options.animateToTopDuration));e=c.controls.merge(!1,b);c.observer.trigger(c.observer.events.knownStatusesChanged,[e]);jQuery.fn.jplist.domain.deeplinks.services.DeepLinksService.updateUrlPerControls(c.options,c.controls)});c.observer.on(c.observer.events.statusesChangedByDeepLinks,function(a,b,e,d){c.controls&&c.controls.statusesChangedByDeepLinks(d)});c.$root.find(c.options.iosBtnPath).on("click",function(){jQuery(this).next(c.options.panelPath).toggleClass("jplist-ios-show")})},f=function(a,
+b,d,f){a={options:b,$root:a,history:d,observer:f,$sticky:null,paths:null,controls:null};e(a);a.$sticky=a.$root.find('[data-sticky="true"]');0=a.$control.find(".jplist-dd-panel").length&&a.$control.prepend(''+
+b.text()+"
");c(a);return jQuery.extend(this,a)};jQuery.fn.jplist.ui.panel.DropdownControl=function(a,c,d,f){return new b(a,c,d,f)}})();(function(){var d=function(c,b,a){c={options:b,observer:a,$root:c,isStorageEnabled:!1};c.isStorageEnabled="cookies"===c.options.storage||"localstorage"===c.options.storage&&jQuery.fn.jplist.dal.services.LocalStorageService.supported();return jQuery.extend(this,c)};d.prototype.save=function(c){var b=[],a;if(c&&this.isStorageEnabled){for(var d=0;d=b.pagesNumber?(this.$control.html(""),this.$control.addClass("jplist-empty")):(this.$control.removeClass("jplist-empty"),a=this.$control.attr("data-type"),a=a.replace("{current}",b.currentPage+1),a=a.replace("{pages}",b.pagesNumber),a=a.replace("{start}",b.start+1),a=a.replace("{end}",b.end),a=a.replace("{all}",b.itemsNumber),this.$control.html(a))};jQuery.fn.jplist.ui.controls.PaginationInfo=
+function(g){return new f(g)};jQuery.fn.jplist.controlTypes["pagination-info"]={className:"PaginationInfo",options:{}}})();(function(){var f=function(b,a){var e;e=null;var c;c=!1;e=b.$control.find("button[data-active]").eq(0);0>=e.length&&(e=b.$control.find("button").eq(0));e=a?0:Number(e.attr("data-number"))||0;(c="true"===b.$control.attr("data-jump-to-start")||b.controlOptions.jumpToStart)&&(c=b.history.getLastStatus())&&"pagination"!==c.type&&"views"!==c.type&&(e=0);c=Number(b.$control.attr("data-items-per-page"))||0;e=new jQuery.fn.jplist.ui.controls.PaginationDTO(e,c);return e=new jQuery.fn.jplist.app.dto.StatusDTO(b.name,
+b.action,b.type,e,b.inStorage,b.inAnimation,b.isAnimateToTop,b.inDeepLinking)},g=function(b){b.$control.on("click","button",function(){var a,e=null;a=Number(jQuery(this).attr("data-number"))||0;e=f(b,!1);e.data.currentPage=a;b.history.addStatus(e);b.observer.trigger(b.observer.events.statusChanged,[e])})},d=function(b){b.params={view:new jQuery.fn.jplist.ui.controls.PaginationView(b.$control,b.controlOptions)};g(b);return jQuery.extend(this,b)};d.prototype.getStatus=function(b){return f(this,b)};
+d.prototype.getDeepLink=function(){var b="",a;this.inDeepLinking&&(a=f(this,!1),a.data&&(jQuery.isNumeric(a.data.currentPage)&&(b=this.name+this.options.delimiter0+"currentPage="+a.data.currentPage),jQuery.isNumeric(a.data.number)&&(b=this.name+this.options.delimiter0+"number="+a.data.number)));return b};d.prototype.getStatusByDeepLink=function(b,a){var e;a:if(e=null,this.inDeepLinking){if("currentPage"!==b){e=null;break a}e=f(this,!0);e.data&&"currentPage"===b&&(e.data.currentPage=a)}return e};d.prototype.setStatus=
+function(b,a){b.data&&b.data.paging&&this.params.view.build(b.data.paging)};jQuery.fn.jplist.ui.controls.Pagination=function(b){return new d(b)}})();(function(){var f=function(d,b,a){var e;e='';for(var c=d;c"+d+" ";return e+"
"},g=function(d,b){var a={$control:d,options:b,$pagingprev:null,$pagingmid:null,$pagingnext:null,$jplistFirst:null,$jplistPrev:null,$jplistNext:null,$jplistLast:null,mode:d.attr("data-mode")},e,c,f,h;e=a.$control.attr("data-prev")||
+a.options.prevArrow;c=a.$control.attr("data-next")||a.options.nextArrow;f=a.$control.attr("data-first")||a.options.firstArrow;h=a.$control.attr("data-last")||a.options.lastArrow;a.$control.html('');a.$pagingprev=a.$control.find('[data-type="pagingprev"]');a.$pagingmid=a.$control.find('[data-type="pagingmid"]');a.$pagingnext=
+a.$control.find('[data-type="pagingnext"]');a.$pagingprev.html('");a.$pagingnext.html('");a.$jplistFirst=a.$pagingprev.find('[data-type="first"]');a.$jplistPrev=a.$pagingprev.find('[data-type="prev"]');
+a.$jplistNext=a.$pagingnext.find('[data-type="next"]');a.$jplistLast=a.$pagingnext.find('[data-type="last"]');return jQuery.extend(this,a)};g.prototype.build=function(d){if(0<=d.currentPage&&d.currentPageb&&(b=0);a=b+a;a>d.pagesNumber&&(a=d.pagesNumber);b=f(b,a,d.currentPage);this.$pagingmid.html(b);
+break;default:var e;e=Number(this.$control.attr("data-range"))||this.options.range;a=Math.floor(d.currentPage/e);b=e*(a+1);b>d.pagesNumber&&(b=d.pagesNumber);b=f(e*a,b,d.currentPage);this.$pagingmid.html(b)}this.$jplistPrev.attr("data-number",d.prevPage).removeClass("jplist-current");this.$jplistNext.attr("data-number",d.nextPage).removeClass("jplist-current");this.$jplistLast.attr("data-number",d.pagesNumber-1).removeClass("jplist-current");1>=d.pagesNumber?this.$control.addClass("jplist-one-page"):
+this.$control.removeClass("jplist-one-page")}else this.$control.addClass("jplist-hidden");0===d.currentPage?this.$pagingprev.addClass("jplist-hidden"):this.$pagingprev.removeClass("jplist-hidden");d.currentPage==d.pagesNumber-1?this.$pagingnext.addClass("jplist-hidden"):this.$pagingnext.removeClass("jplist-hidden")};jQuery.fn.jplist.ui.controls.PaginationView=function(d,b){return new g(d,b)};jQuery.fn.jplist.controlTypes.pagination={className:"Pagination",options:{range:7,jumpToStart:!1,prevArrow:"‹",
+nextArrow:"›",firstArrow:"«",lastArrow:"»"}}})();(function(){jQuery.fn.jplist.ui.controls.PaginationDTO=function(f,g){var d={currentPage:f,paging:null};g&&(d.number=g);return d}})();(function(){var f=function(a,b){var c=null;b?(c=a.$control.find('li:has(span[data-default="true"])').eq(0),0>=c.length&&(c=a.$control.find("li:eq(0)"))):c=a.$control.find(".active");c=c.find("span");c=new jQuery.fn.jplist.ui.controls.DropdownPaginationDTO(c.attr("data-number"));return c=new jQuery.fn.jplist.app.dto.StatusDTO(a.name,a.action,a.type,c,a.inStorage,a.inAnimation,a.isAnimateToTop,a.inDeepLinking)},g=function(a,b){var c,d,f;a.$control.find("span").each(function(){c=jQuery(this).attr("data-path");
+d=jQuery(this).attr("data-type");c&&""!==jQuery.trim(c)&&(f=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(c,d),b.push(f))})},d=function(a){a.$control.find("li").off().on("click",function(){var b,c,d,g;b=f(a,!1);g=jQuery(this).find("span");c=g.attr("data-path");d=g.attr("data-number");c?(b.data.path=c,b.data.type=g.attr("data-type"),b.data.order=g.attr("data-order")):d&&(b.data.number=d);a.history.addStatus(b);a.observer.trigger(a.observer.events.statusChanged,[b])})},b=function(a){new jQuery.fn.jplist.ui.panel.DropdownControl(a.options,
+a.observer,a.history,a.$control);d(a);return jQuery.extend(this,a)};b.prototype.getStatus=function(a){return f(this,a)};b.prototype.getDeepLink=function(){var a="",b;this.inDeepLinking&&(b=f(this,!1),b.data&&(jQuery.isNumeric(b.data.number)||"all"===b.data.number)&&(a=this.name+this.options.delimiter0+"number="+b.data.number));return a};b.prototype.getStatusByDeepLink=function(a,b){var c;a:if(c=null,this.inDeepLinking){if("number"!==a&&a!=="path"+this.options.delimiter2+"type"+this.options.delimiter2+
+"order"&&"path"!==a){c=null;break a}c=f(this,!0);c.data&&"number"===a&&jQuery.isNumeric(c.data.number)&&(c.data.number=b)}return c};b.prototype.getPaths=function(a){g(this,a)};b.prototype.setStatus=function(a,b){var c,d;d=this.$control.find("li");d.removeClass("active");c=this.$control.find('li:has([data-number="'+a.data.number+'"])');0===c.length&&(c=this.$control.find('li:has([data-number="all"])'));0>=c.length&&(c=d.eq(0));c.addClass("active");this.$control.find(".jplist-dd-panel").text(c.eq(0).text())};
+jQuery.fn.jplist.ui.controls.ItemsPerPageDropdown=function(a){return new b(a)};jQuery.fn.jplist.controlTypes["items-per-page-drop-down"]={className:"ItemsPerPageDropdown",options:{},dropdown:!0}})();(function(){var f=function(a,b){var c;c=null;b?(c=a.$control.find('option[data-default="true"]').eq(0),0>=c.length&&(c=a.$control.find("option").eq(0))):c=a.$control.find("option:selected");c=new jQuery.fn.jplist.ui.controls.DropdownPaginationDTO(c.attr("data-number"));return c=new jQuery.fn.jplist.app.dto.StatusDTO(a.name,a.action,a.type,c,a.inStorage,a.inAnimation,a.isAnimateToTop,a.inDeepLinking)},g=function(a,b){var c,d,f;a.$control.find("option").each(function(){c=jQuery(this).attr("data-path");
+d=jQuery(this).attr("data-type");c&&(f=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(c,d),b.push(f))})},d=function(a){a.$control.change(function(){var b,c,d;b=f(a,!1);c=jQuery(this).find("option:selected");d=c.attr("data-path");c=c.attr("data-number");d?(b.data.path=d,b.data.type=jQuery(this).attr("data-type"),b.data.order=jQuery(this).attr("data-order")):c&&(b.data.number=c);a.history.addStatus(b);a.observer.trigger(a.observer.events.statusChanged,[b])})},b=function(a){d(a);return jQuery.extend(this,
+a)};b.prototype.getStatus=function(a){return f(this,a)};b.prototype.getDeepLink=function(){var a="",b;this.inDeepLinking&&(b=f(this,!1),b.data&&jQuery.isNumeric(b.data.number)&&(a=this.name+this.options.delimiter0+"number="+b.data.number));return a};b.prototype.getStatusByDeepLink=function(a,b){var c=null;this.inDeepLinking&&(c=f(this,!0),c.data&&"number"===a&&jQuery.isNumeric(c.data.number)&&(c.data.number=b));return c};b.prototype.getPaths=function(a){g(this,a)};b.prototype.setStatus=function(a,
+b){var c;c=this.$control.find('option[data-number="'+a.data.number+'"]');0===c.length&&(c=this.$control.find('option[data-number="all"]'));c.get(0).selected=!0};jQuery.fn.jplist.ui.controls.ItemsPerPageSelect=function(a){return new b(a)};jQuery.fn.jplist.controlTypes["items-per-page-select"]={className:"ItemsPerPageSelect",options:{}}})();(function(){jQuery.fn.jplist.ui.controls.DropdownPaginationDTO=function(f){return{number:f}}})();
diff --git a/js/jplist/jplist.sort-bundle.min.js b/js/jplist/jplist.sort-bundle.min.js
new file mode 100644
index 0000000..a3d6044
--- /dev/null
+++ b/js/jplist/jplist.sort-bundle.min.js
@@ -0,0 +1,15 @@
+/*
+ jPList - jQuery Data Grid Controls - http://jplist.com
+ Copyright 2015 jPList Software. All rights reserved.
+*/
+(function(){var d=function(d){return jQuery.extend(this,d)};d.prototype.getStatus=function(d){d=new jQuery.fn.jplist.ui.controls.DefaultSortDTO(this.$control.attr("data-path"),this.$control.attr("data-type"),this.$control.attr("data-order"),this.$control.attr("data-datetime-format"),this.$control.attr("data-ignore"));return new jQuery.fn.jplist.app.dto.StatusDTO(this.name,this.action,this.type,d,this.inStorage,this.inAnimation,this.isAnimateToTop,this.inDeepLinking)};d.prototype.getPaths=function(d){var g,
+f;g=this.$control.attr("data-path");f=this.$control.attr("data-type");g&&(g=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(g,f),d.push(g))};jQuery.fn.jplist.ui.controls.DefaultSort=function(h){return new d(h)};jQuery.fn.jplist.controlTypes["default-sort"]={className:"DefaultSort",options:{}}})();(function(){jQuery.fn.jplist.ui.controls.DefaultSortDTO=function(d,h,g,f,a){return{path:d,type:h,order:g,dateTimeFormat:f,ignore:a}}})();(function(){var d=function(a,c){var b;b=null;var e="",d="";c?(b=a.$control.find('option[data-default="true"]').eq(0),0>=b.length&&(b=a.$control.find("option").eq(0))):b=a.$control.find("option:selected");e=a.$control.attr("data-datetime-format")||"";d=a.$control.attr("data-ignore")||"";b=new jQuery.fn.jplist.ui.controls.DropdownSortDTO(b.attr("data-path"),b.attr("data-type"),b.attr("data-order"),e,d);return b=new jQuery.fn.jplist.app.dto.StatusDTO(a.name,a.action,a.type,b,a.inStorage,a.inAnimation,
+a.isAnimateToTop,a.inDeepLinking)},h=function(a,c){var b,e,d;a.$control.find("option").each(function(){b=jQuery(this).attr("data-path");e=jQuery(this).attr("data-type");b&&(d=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(b,e),c.push(d))})},g=function(a){a.$control.on("change",function(){var c,b;c=d(a,!1);if(b=jQuery(this).find("option:selected").attr("data-path"))c.data.path=b,c.data.type=jQuery(this).attr("data-type"),c.data.order=jQuery(this).attr("data-order");a.history.addStatus(c);
+a.observer.trigger(a.observer.events.statusChanged,[c])})},f=function(a){g(a);return jQuery.extend(this,a)};f.prototype.getStatus=function(a){return d(this,a)};f.prototype.getDeepLink=function(){var a="",c;this.inDeepLinking&&(c=d(this,!1),c.data&&c.data.path&&c.data.type&&c.data.order&&(a=this.name+this.options.delimiter0+"path"+this.options.delimiter2+"type"+this.options.delimiter2+"order="+c.data.path+this.options.delimiter2+c.data.type+this.options.delimiter2+c.data.order));return a};f.prototype.getStatusByDeepLink=
+function(a,c){var b=null,e;this.inDeepLinking&&(b=d(this,!0),b.data&&a==="path"+this.options.delimiter2+"type"+this.options.delimiter2+"order"&&(e=c.split(this.options.delimiter2),3===e.length&&(b.data.path=e[0],b.data.type=e[1],b.data.order=e[2])));return b};f.prototype.getPaths=function(a){h(this,a)};f.prototype.setStatus=function(a,c){var b;b="default"==a.data.path?this.$control.find('option[data-path="'+a.data.path+'"]'):this.$control.find('option[data-path="'+a.data.path+'"][data-type="'+a.data.type+
+'"][data-order="'+a.data.order+'"]');0=b.length&&(b=a.$control.find("li:eq(0)"))):b=a.$control.find(".active");b=b.find("span");e=a.$control.attr("data-datetime-format")||"";d=a.$control.attr("data-ignore")||"";b=new jQuery.fn.jplist.ui.controls.DropdownSortDTO(b.attr("data-path"),b.attr("data-type"),b.attr("data-order"),e,d);return b=new jQuery.fn.jplist.app.dto.StatusDTO(a.name,a.action,a.type,b,a.inStorage,a.inAnimation,
+a.isAnimateToTop,a.inDeepLinking)},h=function(a,c){var b,d,f;a.$control.find("span").each(function(){b=jQuery(this).attr("data-path");d=jQuery(this).attr("data-type");b&&""!==jQuery.trim(b)&&(f=new jQuery.fn.jplist.domain.dom.models.DataItemMemberPathModel(b,d),c.push(f))})},g=function(a){a.$control.find("li").off().on("click",function(){var c,b,e;c=d(a,!1);e=jQuery(this).find("span");if(b=e.attr("data-path"))c.data.path=b,c.data.type=e.attr("data-type"),c.data.order=e.attr("data-order");a.history.addStatus(c);
+a.observer.trigger(a.observer.events.statusChanged,[c])})},f=function(a){new jQuery.fn.jplist.ui.panel.DropdownControl(a.options,a.observer,a.history,a.$control);g(a);return jQuery.extend(this,a)};f.prototype.getStatus=function(a){return d(this,a)};f.prototype.getDeepLink=function(){var a="",c;this.inDeepLinking&&(c=d(this,!1),c.data&&c.data.path&&c.data.type&&c.data.order&&(a=this.name+this.options.delimiter0+"path"+this.options.delimiter2+"type"+this.options.delimiter2+"order="+c.data.path+this.options.delimiter2+
+c.data.type+this.options.delimiter2+c.data.order));return a};f.prototype.getStatusByDeepLink=function(a,c){var b;a:{b=null;var e;if(this.inDeepLinking){if("number"!==a&&a!=="path"+this.options.delimiter2+"type"+this.options.delimiter2+"order"&&"path"!==a){b=null;break a}b=d(this,!0);b.data&&a==="path"+this.options.delimiter2+"type"+this.options.delimiter2+"order"&&(e=c.split(this.options.delimiter2),3===e.length&&(b.data.path=e[0],b.data.type=e[1],b.data.order=e[2]))}}return b};f.prototype.getPaths=
+function(a){h(this,a)};f.prototype.setStatus=function(a,c){var b,d;d=this.$control.find("li");d.removeClass("active");b="default"==a.data.path?this.$control.find('li:has([data-path="default"])'):this.$control.find('li:has([data-path="'+a.data.path+'"][data-type="'+a.data.type+'"][data-order="'+a.data.order+'"])');0>=b.length&&(b=d.eq(0));b.addClass("active");this.$control.find(".jplist-dd-panel").text(b.eq(0).text())};jQuery.fn.jplist.ui.controls.SortDropdown=function(a){return new f(a)};jQuery.fn.jplist.controlTypes["sort-drop-down"]=
+{className:"SortDropdown",options:{},dropdown:!0}})();(function(){jQuery.fn.jplist.ui.controls.DropdownSortDTO=function(d,h,g,f,a){return{path:d,type:h,order:g,dateTimeFormat:f,ignore:a}}})();
diff --git a/js/jplist/jplist.textbox-control.min.js b/js/jplist/jplist.textbox-control.min.js
new file mode 100644
index 0000000..3e79e3d
--- /dev/null
+++ b/js/jplist/jplist.textbox-control.min.js
@@ -0,0 +1,8 @@
+/*
+ jPList - jQuery Data Grid Controls - http://jplist.com
+ Copyright 2015 jPList Software. All rights reserved.
+*/
+(function(){jQuery.fn.jplist.ui.controls.TextboxDTO=function(d,f,b){return{path:d,ignore:b,value:f,filterType:"TextFilter"}}})();(function(){var d=function(a,c){var e,b;e=a.$control.attr("data-path");b=c?a.$control.attr("value")||"":a.$control.val();e=new jQuery.fn.jplist.ui.controls.TextboxDTO(e,b,a.params.ignore);return new jQuery.fn.jplist.app.dto.StatusDTO(a.name,a.action,a.type,e,a.inStorage,a.inAnimation,a.isAnimateToTop,a.inDeepLinking)},f=function(a){if(a.params.$button&&0
+
+
+
+
+
+
+
+
+
+ - Idaho Legislative Information Portal, Bills, Lawmakers & Data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Yea
+ getComments($bill["bill_id"], "pro"); + foreach ($comments as $comment) { + ?> + says: "; + echo "DATE:" . $comment["date"] . ""; ?> + +
Neutral
+ getComments($bill["bill_id"], "neutral"); + foreach ($comments as $comment) { ?> + says: "; + echo "DATE:" . $comment["date"] . ""; ?> + +
Nay
+ getComments($bill["bill_id"], "anti"); + foreach ($comments as $comment) { ?> + says: "; + echo "DATE:" . $comment["date"] . ""; ?> + +