deprecations_detector 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +56 -0
- data/.rubocop.yml +22 -0
- data/Gemfile +6 -0
- data/LICENSE +21 -0
- data/LICENSE.txt +21 -0
- data/README.md +74 -0
- data/Rakefile +28 -0
- data/deprecations_detector.gemspec +38 -0
- data/lib/deprecations_detector/active_support/deprecation_decorator.rb +17 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/application.js +213 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/libraries/jquery-1.6.2.min.js +18 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/highlight.pack.js +1 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.colorbox.js +1090 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.dataTables.min.js +152 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.timeago.js +141 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.url.js +174 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/settings.js +1 -0
- data/lib/deprecations_detector/formatters/html/assets/javascripts/treeview.js +261 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/application.css +4 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/highlight.css +129 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/jquery-ui-1.8.4.custom.css +295 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/plugins/jquery.colorbox.css +52 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/reset.css +103 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/screen.css.sass +249 -0
- data/lib/deprecations_detector/formatters/html/assets/stylesheets/treeview.css +12 -0
- data/lib/deprecations_detector/formatters/html/formatter.rb +169 -0
- data/lib/deprecations_detector/formatters/html/public/application.css +852 -0
- data/lib/deprecations_detector/formatters/html/public/application.js +2050 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/border.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/controls.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/loading.gif +0 -0
- data/lib/deprecations_detector/formatters/html/public/colorbox/loading_background.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/favicon.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_222222_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_454545_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_888888_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/loading.gif +0 -0
- data/lib/deprecations_detector/formatters/html/public/magnify.png +0 -0
- data/lib/deprecations_detector/formatters/html/public/settings.js +1 -0
- data/lib/deprecations_detector/formatters/html/views/file_list.erb +24 -0
- data/lib/deprecations_detector/formatters/html/views/layout.erb +39 -0
- data/lib/deprecations_detector/formatters/html/views/source_file.erb +24 -0
- data/lib/deprecations_detector/main.rb +113 -0
- data/lib/deprecations_detector/version.rb +5 -0
- data/lib/deprecations_detector.rb +10 -0
- data/lib/tasks/deprecations/combine.rake +30 -0
- data/lib/tasks/deprecations/format.rake +14 -0
- metadata +254 -0
data/lib/deprecations_detector/formatters/html/assets/javascripts/plugins/jquery.dataTables.min.js
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
/*
|
2
|
+
* File: jquery.dataTables.min.js
|
3
|
+
* Version: 1.7.0
|
4
|
+
* Author: Allan Jardine (www.sprymedia.co.uk)
|
5
|
+
* Info: www.datatables.net
|
6
|
+
*
|
7
|
+
* Copyright 2008-2010 Allan Jardine, all rights reserved.
|
8
|
+
*
|
9
|
+
* This source file is free software, under either the GPL v2 license or a
|
10
|
+
* BSD style license, as supplied with this software.
|
11
|
+
*
|
12
|
+
* This source file is distributed in the hope that it will be useful, but
|
13
|
+
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
14
|
+
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
|
15
|
+
*/
|
16
|
+
(function(j,Y,p){j.fn.dataTableSettings=[];var E=j.fn.dataTableSettings;j.fn.dataTableExt={};var m=j.fn.dataTableExt;m.sVersion="1.7.0";m.sErrMode="alert";m.iApiIndex=0;m.oApi={};m.afnFiltering=[];m.aoFeatures=[];m.ofnSearch={};m.afnSortData=[];m.oStdClasses={sPagePrevEnabled:"paginate_enabled_previous",sPagePrevDisabled:"paginate_disabled_previous",sPageNextEnabled:"paginate_enabled_next",sPageNextDisabled:"paginate_disabled_next",sPageJUINext:"",sPageJUIPrev:"",sPageButton:"paginate_button",sPageButtonActive:"paginate_active",
|
17
|
+
sPageButtonStaticDisabled:"paginate_button",sPageFirst:"first",sPagePrevious:"previous",sPageNext:"next",sPageLast:"last",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",sSortableDesc:"sorting_desc_disabled",
|
18
|
+
sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};m.oJUIClasses={sPagePrevEnabled:"fg-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-state-default ui-corner-left ui-state-disabled",
|
19
|
+
sPageNextEnabled:"fg-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-state-default ui-corner-right ui-state-disabled",sPageJUINext:"ui-icon ui-icon-circle-arrow-e",sPageJUIPrev:"ui-icon ui-icon-circle-arrow-w",sPageButton:"fg-button ui-state-default",sPageButtonActive:"fg-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl",sPagePrevious:"previous",sPageNext:"next",
|
20
|
+
sPageLast:"last ui-corner-tr ui-corner-br",sStripOdd:"odd",sStripEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate fg-buttonset fg-buttonset-multi paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"ui-state-default",sSortDesc:"ui-state-default",sSortable:"ui-state-default",sSortableAsc:"ui-state-default",sSortableDesc:"ui-state-default",sSortableNone:"ui-state-default",
|
21
|
+
sSortColumn:"sorting_",sSortJUIAsc:"css_right ui-icon ui-icon-triangle-1-n",sSortJUIDesc:"css_right ui-icon ui-icon-triangle-1-s",sSortJUI:"css_right ui-icon ui-icon-carat-2-n-s",sSortJUIAscAllowed:"css_right ui-icon ui-icon-carat-1-n",sSortJUIDescAllowed:"css_right ui-icon ui-icon-carat-1-s",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",
|
22
|
+
sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};m.oPagination={two_button:{fnInit:function(g,l,q){var r,u,y;if(g.bJUI){r=p.createElement("a");u=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;u.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev;r.appendChild(y)}else{r=p.createElement("div");u=p.createElement("div")}r.className=g.oClasses.sPagePrevDisabled;u.className=g.oClasses.sPageNextDisabled;r.title=g.oLanguage.oPaginate.sPrevious;
|
23
|
+
u.title=g.oLanguage.oPaginate.sNext;l.appendChild(r);l.appendChild(u);j(r).click(function(){g.oApi._fnPageChange(g,"previous")&&q(g)});j(u).click(function(){g.oApi._fnPageChange(g,"next")&&q(g)});j(r).bind("selectstart",function(){return false});j(u).bind("selectstart",function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");r.setAttribute("id",g.sTableId+"_previous");u.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=
|
24
|
+
g.aanFeatures.p,q=0,r=l.length;q<r;q++)if(l[q].childNodes.length!==0){l[q].childNodes[0].className=g._iDisplayStart===0?g.oClasses.sPagePrevDisabled:g.oClasses.sPagePrevEnabled;l[q].childNodes[1].className=g.fnDisplayEnd()==g.fnRecordsDisplay()?g.oClasses.sPageNextDisabled:g.oClasses.sPageNextEnabled}}},iFullNumbersShowPages:5,full_numbers:{fnInit:function(g,l,q){var r=p.createElement("span"),u=p.createElement("span"),y=p.createElement("span"),C=p.createElement("span"),w=p.createElement("span");r.innerHTML=
|
25
|
+
g.oLanguage.oPaginate.sFirst;u.innerHTML=g.oLanguage.oPaginate.sPrevious;C.innerHTML=g.oLanguage.oPaginate.sNext;w.innerHTML=g.oLanguage.oPaginate.sLast;var x=g.oClasses;r.className=x.sPageButton+" "+x.sPageFirst;u.className=x.sPageButton+" "+x.sPagePrevious;C.className=x.sPageButton+" "+x.sPageNext;w.className=x.sPageButton+" "+x.sPageLast;l.appendChild(r);l.appendChild(u);l.appendChild(y);l.appendChild(C);l.appendChild(w);j(r).click(function(){g.oApi._fnPageChange(g,"first")&&q(g)});j(u).click(function(){g.oApi._fnPageChange(g,
|
26
|
+
"previous")&&q(g)});j(C).click(function(){g.oApi._fnPageChange(g,"next")&&q(g)});j(w).click(function(){g.oApi._fnPageChange(g,"last")&&q(g)});j("span",l).bind("mousedown",function(){return false}).bind("selectstart",function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate");r.setAttribute("id",g.sTableId+"_first");u.setAttribute("id",g.sTableId+"_previous");C.setAttribute("id",g.sTableId+"_next");w.setAttribute("id",g.sTableId+"_last")}},
|
27
|
+
fnUpdate:function(g,l){if(g.aanFeatures.p){var q=m.oPagination.iFullNumbersShowPages,r=Math.floor(q/2),u=Math.ceil(g.fnRecordsDisplay()/g._iDisplayLength),y=Math.ceil(g._iDisplayStart/g._iDisplayLength)+1,C="",w,x=g.oClasses;if(u<q){r=1;w=u}else if(y<=r){r=1;w=q}else if(y>=u-r){r=u-q+1;w=u}else{r=y-Math.ceil(q/2)+1;w=r+q-1}for(q=r;q<=w;q++)C+=y!=q?'<span class="'+x.sPageButton+'">'+q+"</span>":'<span class="'+x.sPageButtonActive+'">'+q+"</span>";w=g.aanFeatures.p;var z,D=function(){g._iDisplayStart=
|
28
|
+
(this.innerHTML*1-1)*g._iDisplayLength;l(g);return false},L=function(){return false};q=0;for(r=w.length;q<r;q++)if(w[q].childNodes.length!==0){z=w[q].childNodes[2];z.innerHTML=C;j("span",z).click(D).bind("mousedown",L).bind("selectstart",L);z=w[q].getElementsByTagName("span");z=[z[0],z[1],z[z.length-2],z[z.length-1]];j(z).removeClass(x.sPageButton+" "+x.sPageButtonActive+" "+x.sPageButtonStaticDisabled);if(y==1){z[0].className+=" "+x.sPageButtonStaticDisabled;z[1].className+=" "+x.sPageButtonStaticDisabled}else{z[0].className+=
|
29
|
+
" "+x.sPageButton;z[1].className+=" "+x.sPageButton}if(u===0||y==u||g._iDisplayLength==-1){z[2].className+=" "+x.sPageButtonStaticDisabled;z[3].className+=" "+x.sPageButtonStaticDisabled}else{z[2].className+=" "+x.sPageButton;z[3].className+=" "+x.sPageButton}}}}}};m.oSort={"string-asc":function(g,l){g=g.toLowerCase();l=l.toLowerCase();return g<l?-1:g>l?1:0},"string-desc":function(g,l){g=g.toLowerCase();l=l.toLowerCase();return g<l?1:g>l?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();
|
30
|
+
l=l.replace(/<.*?>/g,"").toLowerCase();return g<l?-1:g>l?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return g<l?1:g>l?-1:0},"date-asc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l==="")l=Date.parse("01/01/1970 00:00:00");return g-l},"date-desc":function(g,l){g=Date.parse(g);l=Date.parse(l);if(isNaN(g)||g==="")g=Date.parse("01/01/1970 00:00:00");if(isNaN(l)||l===
|
31
|
+
"")l=Date.parse("01/01/1970 00:00:00");return l-g},"numeric-asc":function(g,l){return(g=="-"||g===""?0:g*1)-(l=="-"||l===""?0:l*1)},"numeric-desc":function(g,l){return(l=="-"||l===""?0:l*1)-(g=="-"||g===""?0:g*1)}};m.aTypes=[function(g){if(g.length===0)return"numeric";var l,q=false;l=g.charAt(0);if("0123456789-".indexOf(l)==-1)return null;for(var r=1;r<g.length;r++){l=g.charAt(r);if("0123456789.".indexOf(l)==-1)return null;if(l=="."){if(q)return null;q=true}}return"numeric"},function(g){var l=Date.parse(g);
|
32
|
+
if(l!==null&&!isNaN(l)||g.length===0)return"date";return null},function(g){if(g.indexOf("<")!=-1&&g.indexOf(">")!=-1)return"html";return null}];m.fnVersionCheck=function(g){var l=function(w,x){for(;w.length<x;)w+="0";return w},q=m.sVersion.split(".");g=g.split(".");for(var r="",u="",y=0,C=g.length;y<C;y++){r+=l(q[y],3);u+=l(g[y],3)}return parseInt(r,10)>=parseInt(u,10)};m._oExternConfig={iNextUnique:0};j.fn.dataTable=function(g){function l(){this.fnRecordsTotal=function(){return this.oFeatures.bServerSide?
|
33
|
+
this._iRecordsTotal:this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?this._iRecordsDisplay:this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false?this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iDisplayStart+this.aiDisplay.length):this._iDisplayEnd};this.sInstance=this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,
|
34
|
+
bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,iBarWidth:0};this.aanFeatures=[];this.oLanguage={sProcessing:"Processing...",sLengthMenu:"Show _MENU_ entries",sZeroRecords:"No matching records found",sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",
|
35
|
+
sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"}};this.aoData=[];this.aiDisplay=[];this.aiDisplayMaster=[];this.aoColumns=[];this.iNextId=0;this.asDataSearch=[];this.oPreviousSearch={sSearch:"",bRegex:false,bSmart:true};this.aoPreSearchCols=[];this.aaSorting=[[0,"asc",0]];this.aaSortingFixed=null;this.asStripClasses=[];this.asDestoryStrips=[];this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];
|
36
|
+
this.fnInitComplete=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.iDefaultSortIndex=0;this.bInitialised=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType="two_button";this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.sAjaxSource=null;this.bAjaxDataGet=true;this.fnServerData=function(a,b,c){j.ajax({url:a,data:b,success:c,dataType:"json",cache:false,error:function(){alert("DataTables warning: JSON data from server failed to load or be parsed. This is most likely to be caused by a JSON formatting error.")}})};
|
37
|
+
this.fnFormatNumber=function(a){if(a<1E3)return a;else{var b=a+"";a=b.split("");var c="";b=b.length;for(var d=0;d<b;d++){if(d%3===0&&d!==0)c=","+c;c=a[b-d-1]+c}}return c};this.aLengthMenu=[10,25,50,100];this.iDraw=0;this.iDrawError=-1;this._iDisplayLength=10;this._iDisplayStart=0;this._iDisplayEnd=10;this._iRecordsDisplay=this._iRecordsTotal=0;this.bJUI=false;this.oClasses=m.oStdClasses;this.bSorted=this.bFiltered=false;this.oInit=null}function q(a){return function(){var b=[B(this[m.iApiIndex])].concat(Array.prototype.slice.call(arguments));
|
38
|
+
return m.oApi[a].apply(this,b)}}function r(a){if(a.bInitialised===false)setTimeout(function(){r(a)},200);else{na(a);z(a);if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();F(a);D(a)}if(a.sAjaxSource!==null&&!a.oFeatures.bServerSide){K(a,true);a.fnServerData.call(a.oInstance,a.sAjaxSource,null,function(b){for(var c=0;c<b.aaData.length;c++)w(a,b.aaData[c]);a.iInitDisplayStart=a._iDisplayStart;if(a.oFeatures.bSort)O(a);else{a.aiDisplay=a.aiDisplayMaster.slice();F(a);D(a)}K(a,false);
|
39
|
+
typeof a.fnInitComplete=="function"&&a.fnInitComplete.call(a.oInstance,a,b)})}else{typeof a.fnInitComplete=="function"&&a.fnInitComplete.call(a.oInstance,a);a.oFeatures.bServerSide||K(a,false)}}}function u(a,b,c){n(a.oLanguage,b,"sProcessing");n(a.oLanguage,b,"sLengthMenu");n(a.oLanguage,b,"sEmptyTable");n(a.oLanguage,b,"sZeroRecords");n(a.oLanguage,b,"sInfo");n(a.oLanguage,b,"sInfoEmpty");n(a.oLanguage,b,"sInfoFiltered");n(a.oLanguage,b,"sInfoPostFix");n(a.oLanguage,b,"sSearch");if(typeof b.oPaginate!=
|
40
|
+
"undefined"){n(a.oLanguage.oPaginate,b.oPaginate,"sFirst");n(a.oLanguage.oPaginate,b.oPaginate,"sPrevious");n(a.oLanguage.oPaginate,b.oPaginate,"sNext");n(a.oLanguage.oPaginate,b.oPaginate,"sLast")}typeof b.sEmptyTable=="undefined"&&typeof b.sZeroRecords!="undefined"&&n(a.oLanguage,b,"sZeroRecords","sEmptyTable");c&&r(a)}function y(a,b){a.aoColumns[a.aoColumns.length++]={sType:null,_bAutoType:true,bVisible:true,bSearchable:true,bSortable:true,asSorting:["asc","desc"],sSortingClass:a.oClasses.sSortable,
|
41
|
+
sSortingClassJUI:a.oClasses.sSortJUI,sTitle:b?b.innerHTML:"",sName:"",sWidth:null,sWidthOrig:null,sClass:null,fnRender:null,bUseRendered:true,iDataSort:a.aoColumns.length-1,sSortDataType:"std",nTh:b?b:p.createElement("th"),nTf:null};b=a.aoColumns.length-1;if(typeof a.aoPreSearchCols[b]=="undefined"||a.aoPreSearchCols[b]===null)a.aoPreSearchCols[b]={sSearch:"",bRegex:false,bSmart:true};else{if(typeof a.aoPreSearchCols[b].bRegex=="undefined")a.aoPreSearchCols[b].bRegex=true;if(typeof a.aoPreSearchCols[b].bSmart==
|
42
|
+
"undefined")a.aoPreSearchCols[b].bSmart=true}C(a,b,null)}function C(a,b,c){b=a.aoColumns[b];if(typeof c!="undefined"&&c!==null){if(typeof c.sType!="undefined"){b.sType=c.sType;b._bAutoType=false}n(b,c,"bVisible");n(b,c,"bSearchable");n(b,c,"bSortable");n(b,c,"sTitle");n(b,c,"sName");n(b,c,"sWidth");n(b,c,"sWidth","sWidthOrig");n(b,c,"sClass");n(b,c,"fnRender");n(b,c,"bUseRendered");n(b,c,"iDataSort");n(b,c,"asSorting");n(b,c,"sSortDataType")}if(!a.oFeatures.bSort)b.bSortable=false;if(!b.bSortable||
|
43
|
+
j.inArray("asc",b.asSorting)==-1&&j.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableNone;b.sSortingClassJUI=""}else if(j.inArray("asc",b.asSorting)!=-1&&j.inArray("desc",b.asSorting)==-1){b.sSortingClass=a.oClasses.sSortableAsc;b.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed}else if(j.inArray("asc",b.asSorting)==-1&&j.inArray("desc",b.asSorting)!=-1){b.sSortingClass=a.oClasses.sSortableDesc;b.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed}}function w(a,b){if(b.length!=a.aoColumns.length&&
|
44
|
+
a.iDrawError!=a.iDraw){J(a,0,"Added data does not match known number of columns");a.iDrawError=a.iDraw;return-1}b=b.slice();var c=a.aoData.length;a.aoData.push({nTr:p.createElement("tr"),_iId:a.iNextId++,_aData:b,_anHidden:[],_sRowStripe:""});for(var d,f,e=0;e<b.length;e++){d=p.createElement("td");if(b[e]===null)b[e]="";if(typeof b[e]!="string")b[e]+="";b[e]=j.trim(b[e]);if(typeof a.aoColumns[e].fnRender=="function"){f=a.aoColumns[e].fnRender({iDataRow:c,iDataColumn:e,aData:b,oSettings:a});d.innerHTML=
|
45
|
+
f;if(a.aoColumns[e].bUseRendered)a.aoData[c]._aData[e]=f}else d.innerHTML=b[e];if(a.aoColumns[e].sClass!==null)d.className=a.aoColumns[e].sClass;if(a.aoColumns[e]._bAutoType&&a.aoColumns[e].sType!="string"){f=Z(a.aoData[c]._aData[e]);if(a.aoColumns[e].sType===null)a.aoColumns[e].sType=f;else if(a.aoColumns[e].sType!=f)a.aoColumns[e].sType="string"}if(a.aoColumns[e].bVisible)a.aoData[c].nTr.appendChild(d);else a.aoData[c]._anHidden[e]=d}a.aiDisplayMaster.push(c);return c}function x(a){var b,c,d,f,
|
46
|
+
e,i,h,k;if(a.sAjaxSource===null){h=a.nTBody.childNodes;b=0;for(c=h.length;b<c;b++)if(h[b].nodeName.toUpperCase()=="TR"){i=a.aoData.length;a.aoData.push({nTr:h[b],_iId:a.iNextId++,_aData:[],_anHidden:[],_sRowStripe:""});a.aiDisplayMaster.push(i);k=a.aoData[i]._aData;i=h[b].childNodes;d=e=0;for(f=i.length;d<f;d++)if(i[d].nodeName.toUpperCase()=="TD"){k[e]=j.trim(i[d].innerHTML);e++}}}h=S(a);i=[];b=0;for(c=h.length;b<c;b++){d=0;for(f=h[b].childNodes.length;d<f;d++){e=h[b].childNodes[d];e.nodeName.toUpperCase()==
|
47
|
+
"TD"&&i.push(e)}}i.length!=h.length*a.aoColumns.length&&J(a,1,"Unexpected number of TD elements. Expected "+h.length*a.aoColumns.length+" and got "+i.length+". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.");h=0;for(d=a.aoColumns.length;h<d;h++){if(a.aoColumns[h].sTitle===null)a.aoColumns[h].sTitle=a.aoColumns[h].nTh.innerHTML;f=a.aoColumns[h]._bAutoType;e=typeof a.aoColumns[h].fnRender=="function";k=a.aoColumns[h].sClass!==
|
48
|
+
null;var o=a.aoColumns[h].bVisible,t,s;if(f||e||k||!o){b=0;for(c=a.aoData.length;b<c;b++){t=i[b*d+h];if(f)if(a.aoColumns[h].sType!="string"){s=Z(a.aoData[b]._aData[h]);if(a.aoColumns[h].sType===null)a.aoColumns[h].sType=s;else if(a.aoColumns[h].sType!=s)a.aoColumns[h].sType="string"}if(e){s=a.aoColumns[h].fnRender({iDataRow:b,iDataColumn:h,aData:a.aoData[b]._aData,oSettings:a});t.innerHTML=s;if(a.aoColumns[h].bUseRendered)a.aoData[b]._aData[h]=s}if(k)t.className+=" "+a.aoColumns[h].sClass;if(!o){a.aoData[b]._anHidden[h]=
|
49
|
+
t;t.parentNode.removeChild(t)}}}}}function z(a){var b,c,d,f=0;if(a.nTHead.getElementsByTagName("th").length!==0){b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;if(a.aoColumns[b].bVisible){if(a.aoColumns[b].sWidth!==null)c.style.width=a.aoColumns[b].sWidth;if(a.aoColumns[b].sTitle!=c.innerHTML)c.innerHTML=a.aoColumns[b].sTitle}else{c.parentNode.removeChild(c);f++}}}else{f=p.createElement("tr");b=0;for(d=a.aoColumns.length;b<d;b++){c=a.aoColumns[b].nTh;c.innerHTML=a.aoColumns[b].sTitle;
|
50
|
+
if(a.aoColumns[b].bVisible){if(a.aoColumns[b].sClass!==null)c.className=a.aoColumns[b].sClass;if(a.aoColumns[b].sWidth!==null)c.style.width=a.aoColumns[b].sWidth;f.appendChild(c)}}j(a.nTHead).html("")[0].appendChild(f)}if(a.bJUI){b=0;for(d=a.aoColumns.length;b<d;b++)a.aoColumns[b].nTh.insertBefore(p.createElement("span"),a.aoColumns[b].nTh.firstChild)}if(a.oFeatures.bSort){for(b=0;b<a.aoColumns.length;b++)a.aoColumns[b].bSortable!==false?$(a,a.aoColumns[b].nTh,b):j(a.aoColumns[b].nTh).addClass(a.oClasses.sSortableNone);
|
51
|
+
j("th",a.nTHead).mousedown(function(){this.onselectstart=function(){return false};return false})}if(a.nTFoot!==null){f=0;c=a.nTFoot.getElementsByTagName("th");b=0;for(d=c.length;b<d;b++)if(typeof a.aoColumns[b]!="undefined"){a.aoColumns[b].nTf=c[b-f];if(a.oClasses.sFooterTH!=="")a.aoColumns[b].nTf.className+=" "+a.oClasses.sFooterTH;if(!a.aoColumns[b].bVisible){c[b-f].parentNode.removeChild(c[b-f]);f++}}}}function D(a){var b,c,d=[],f=0,e=false;b=a.asStripClasses.length;c=a.aoOpenRows.length;if(typeof a.iInitDisplayStart!=
|
52
|
+
"undefined"&&a.iInitDisplayStart!=-1){a._iDisplayStart=a.oFeatures.bServerSide?a.iInitDisplayStart:a.iInitDisplayStart>=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;F(a)}if(!(a.oFeatures.bServerSide&&!oa(a))){if(a.aiDisplay.length!==0){var i=a._iDisplayStart,h=a._iDisplayEnd;if(a.oFeatures.bServerSide){i=0;h=a.aoData.length}for(i=i;i<h;i++){var k=a.aoData[a.aiDisplay[i]],o=k.nTr;if(b!==0){var t=a.asStripClasses[f%b];if(k._sRowStripe!=t){j(o).removeClass(k._sRowStripe).addClass(t);
|
53
|
+
k._sRowStripe=t}}if(typeof a.fnRowCallback=="function"){o=a.fnRowCallback.call(a.oInstance,o,a.aoData[a.aiDisplay[i]]._aData,f,i);if(!o&&!e){J(a,0,"A node was not returned by fnRowCallback");e=true}}d.push(o);f++;if(c!==0)for(k=0;k<c;k++)o==a.aoOpenRows[k].nParent&&d.push(a.aoOpenRows[k].nTr)}}else{d[0]=p.createElement("tr");if(typeof a.asStripClasses[0]!="undefined")d[0].className=a.asStripClasses[0];e=p.createElement("td");e.setAttribute("valign","top");e.colSpan=T(a);e.className=a.oClasses.sRowEmpty;
|
54
|
+
e.innerHTML=typeof a.oLanguage.sEmptyTable!="undefined"&&a.fnRecordsTotal()===0?a.oLanguage.sEmptyTable:a.oLanguage.sZeroRecords.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()));d[f].appendChild(e)}typeof a.fnHeaderCallback=="function"&&a.fnHeaderCallback.call(a.oInstance,j(">tr",a.nTHead)[0],V(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);typeof a.fnFooterCallback=="function"&&a.fnFooterCallback.call(a.oInstance,j(">tr",a.nTFoot)[0],V(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=
|
55
|
+
p.createDocumentFragment();b=p.createDocumentFragment();if(a.nTBody){e=a.nTBody.parentNode;b.appendChild(a.nTBody);c=a.nTBody.childNodes;for(b=c.length-1;b>=0;b--)c[b].parentNode.removeChild(c[b]);b=0;for(c=d.length;b<c;b++)f.appendChild(d[b]);a.nTBody.appendChild(f);e!==null&&e.appendChild(a.nTBody)}if(typeof a._bInitComplete=="undefined"){a._bInitComplete=true;a.nTableWrapper!=a.nTable.parentNode&&j(a.nTableWrapper).width()>j(a.nTable.parentNode).width()&&U(a)}b=0;for(c=a.aoDrawCallback.length;b<
|
56
|
+
c;b++)a.aoDrawCallback[b].fn.call(a.oInstance,a);a.bSorted=false;a.bFiltered=false}}function L(a){if(a.oFeatures.bSort)O(a,a.oPreviousSearch);else if(a.oFeatures.bFilter)P(a,a.oPreviousSearch);else{F(a);D(a)}}function oa(a){if(a.bAjaxDataGet){K(a,true);var b=a.aoColumns.length,c=[],d;a.iDraw++;c.push({name:"sEcho",value:a.iDraw});c.push({name:"iColumns",value:b});c.push({name:"sColumns",value:aa(a)});c.push({name:"iDisplayStart",value:a._iDisplayStart});c.push({name:"iDisplayLength",value:a.oFeatures.bPaginate!==
|
57
|
+
false?a._iDisplayLength:-1});if(a.oFeatures.bFilter!==false){c.push({name:"sSearch",value:a.oPreviousSearch.sSearch});c.push({name:"bRegex",value:a.oPreviousSearch.bRegex});for(d=0;d<b;d++){c.push({name:"sSearch_"+d,value:a.aoPreSearchCols[d].sSearch});c.push({name:"bRegex_"+d,value:a.aoPreSearchCols[d].bRegex});c.push({name:"bSearchable_"+d,value:a.aoColumns[d].bSearchable})}}if(a.oFeatures.bSort!==false){var f=a.aaSortingFixed!==null?a.aaSortingFixed.length:0,e=a.aaSorting.length;c.push({name:"iSortingCols",
|
58
|
+
value:f+e});for(d=0;d<f;d++){c.push({name:"iSortCol_"+d,value:a.aaSortingFixed[d][0]});c.push({name:"sSortDir_"+d,value:a.aaSortingFixed[d][1]})}for(d=0;d<e;d++){c.push({name:"iSortCol_"+(d+f),value:a.aaSorting[d][0]});c.push({name:"sSortDir_"+(d+f),value:a.aaSorting[d][1]})}for(d=0;d<b;d++)c.push({name:"bSortable_"+d,value:a.aoColumns[d].bSortable})}a.fnServerData.call(a.oInstance,a.sAjaxSource,c,function(i){pa(a,i)});return false}else return true}function pa(a,b){if(typeof b.sEcho!="undefined")if(b.sEcho*
|
59
|
+
1<a.iDraw)return;else a.iDraw=b.sEcho*1;ba(a);a._iRecordsTotal=b.iTotalRecords;a._iRecordsDisplay=b.iTotalDisplayRecords;var c=aa(a);if(c=typeof b.sColumns!="undefined"&&c!==""&&b.sColumns!=c)var d=qa(a,b.sColumns);for(var f=0,e=b.aaData.length;f<e;f++)if(c){for(var i=[],h=0,k=a.aoColumns.length;h<k;h++)i.push(b.aaData[f][d[h]]);w(a,i)}else w(a,b.aaData[f]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=false;D(a);a.bAjaxDataGet=true;K(a,false)}function na(a){var b=p.createElement("div");a.nTable.parentNode.insertBefore(b,
|
60
|
+
a.nTable);a.nTableWrapper=p.createElement("div");a.nTableWrapper.className=a.oClasses.sWrapper;a.sTableId!==""&&a.nTableWrapper.setAttribute("id",a.sTableId+"_wrapper");for(var c=a.nTableWrapper,d=a.sDom.split(""),f,e,i,h,k,o,t,s=0;s<d.length;s++){e=0;i=d[s];if(i=="<"){h=p.createElement("div");k=d[s+1];if(k=="'"||k=='"'){o="";for(t=2;d[s+t]!=k;){o+=d[s+t];t++}if(o=="H")o="fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix";else if(o=="F")o="fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix";
|
61
|
+
h.className=o;s+=t}c.appendChild(h);c=h}else if(i==">")c=c.parentNode;else if(i=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=ra(a);e=1}else if(i=="f"&&a.oFeatures.bFilter){f=sa(a);e=1}else if(i=="r"&&a.oFeatures.bProcessing){f=ta(a);e=1}else if(i=="t"){f=ua(a);e=1}else if(i=="i"&&a.oFeatures.bInfo){f=va(a);e=1}else if(i=="p"&&a.oFeatures.bPaginate){f=wa(a);e=1}else if(m.aoFeatures.length!==0){h=m.aoFeatures;k=0;for(o=h.length;k<o;k++)if(i==h[k].cFeature){if(f=h[k].fnInit(a))e=1;break}}if(e==
|
62
|
+
1){if(typeof a.aanFeatures[i]!="object")a.aanFeatures[i]=[];a.aanFeatures[i].push(f);c.appendChild(f)}}b.parentNode.replaceChild(a.nTableWrapper,b)}function ua(a){if(a.oScroll.sX===""&&a.oScroll.sY==="")return a.nTable;var b=p.createElement("div"),c=p.createElement("div"),d=p.createElement("div"),f=p.createElement("div"),e=p.createElement("div"),i=p.createElement("div"),h=a.nTable.cloneNode(false),k=a.nTable.cloneNode(false),o=a.nTable.getElementsByTagName("thead")[0],t=a.nTable.getElementsByTagName("tfoot").length===
|
63
|
+
0?null:a.nTable.getElementsByTagName("tfoot")[0],s=typeof g.bJQueryUI!="undefined"&&g.bJQueryUI?m.oJUIClasses:m.oStdClasses;c.appendChild(d);e.appendChild(i);f.appendChild(a.nTable);b.appendChild(c);b.appendChild(f);d.appendChild(h);h.appendChild(o);if(t!==null){b.appendChild(e);i.appendChild(k);k.appendChild(t)}b.className=s.sScrollWrapper;c.className=s.sScrollHead;d.className=s.sScrollHeadInner;f.className=s.sScrollBody;e.className=s.sScrollFoot;i.className=s.sScrollFootInner;c.style.overflow="hidden";
|
64
|
+
e.style.overflow="hidden";f.style.overflow="auto";c.style.border="0";e.style.border="0";d.style.width="150%";h.removeAttribute("id");h.style.marginLeft="0";a.nTable.style.marginLeft="0";if(t!==null){k.removeAttribute("id");k.style.marginLeft="0"}d=j(">caption",a.nTable);i=0;for(k=d.length;i<k;i++)h.appendChild(d[i]);if(a.oScroll.sX!==""){c.style.width=v(a.oScroll.sX);f.style.width=v(a.oScroll.sX);if(t!==null)e.style.width=v(a.oScroll.sX);j(f).scroll(function(){c.scrollLeft=this.scrollLeft;if(t!==
|
65
|
+
null)e.scrollLeft=this.scrollLeft})}if(a.oScroll.sY!=="")f.style.height=v(a.oScroll.sY);a.aoDrawCallback.push({fn:xa,sName:"scrolling"});a.nScrollHead=c;a.nScrollFoot=e;return b}function xa(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,f,e,i,h,k,o,t,s,H=[];i=a.nTable.getElementsByTagName("thead");i.length>0&&a.nTable.removeChild(i[0]);if(a.nTFoot!==null){k=a.nTable.getElementsByTagName("tfoot");k.length>0&&a.nTable.removeChild(k[0])}i=
|
66
|
+
a.nTHead.cloneNode(true);a.nTable.insertBefore(i,a.nTable.childNodes[0]);if(a.nTFoot!==null){k=a.nTFoot.cloneNode(true);a.nTable.insertBefore(k,a.nTable.childNodes[1])}var I=ca(i);f=0;for(e=I.length;f<e;f++){t=da(a,f);I[f].style.width=a.aoColumns[t].sWidth}a.nTFoot!==null&&M(function(A){A.style.width=""},k.getElementsByTagName("tr"));f=j(a.nTable).outerWidth();if(a.oScroll.sX===""){a.nTable.style.width="100%";if(j.browser.msie&&j.browser.version<=7)a.nTable.style.width=v(j(a.nTable).outerWidth()-
|
67
|
+
a.oScroll.iBarWidth)}else if(a.oScroll.sXInner!=="")a.nTable.style.width=v(a.oScroll.sXInner);else if(f==j(d).width()&&j(d).height()<j(a.nTable).height()){a.nTable.style.width=v(f-a.oScroll.iBarWidth);if(j(a.nTable).outerWidth()>f-a.oScroll.iBarWidth)a.nTable.style.width=v(f)}else a.nTable.style.width=v(f);f=j(a.nTable).outerWidth();e=a.nTHead.getElementsByTagName("tr");i=i.getElementsByTagName("tr");M(function(A,G){o=A.style;o.paddingTop="0";o.paddingBottom="0";o.borderTopWidth="0";o.borderBottomWidth=
|
68
|
+
"0";o.height=0;s=j(A).width();G.style.width=v(s);H.push(s)},i,e);if(a.nTFoot!==null){h=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");M(function(A,G){o=A.style;o.paddingTop="0";o.paddingBottom="0";o.borderTopWidth="0";o.borderBottomWidth="0";s=j(A).width();G.style.width=v(s);H.push(s)},h,k)}M(function(A){A.innerHTML="";A.style.width=v(H.shift())},i);a.nTFoot!==null&&M(function(A){A.innerHTML="";A.style.width=v(H.shift())},h);if(j(a.nTable).outerWidth()<f)if(a.oScroll.sX==="")J(a,
|
69
|
+
1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you enable x-scrolling or increase the width the table has in which to be drawn");else a.oScroll.sXInner!==""&&J(a,1,"The table cannot fit into the current element which will cause column misalignment. It is suggested that you increase the sScrollXInner property to allow it to draw in a larger area, or simply remove that parameter to allow automatic calculation");if(a.oScroll.sY==="")if(j.browser.msie&&
|
70
|
+
j.browser.version<=7)d.style.height=v(a.nTable.offsetHeight+a.oScroll.iBarWidth);if(a.oScroll.sY!==""&&a.oScroll.bCollapse){d.style.height=v(a.oScroll.sY);h=a.oScroll.sX!==""&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight<d.offsetHeight)d.style.height=v(j(a.nTable).height()+h)}c.style.width=v(j(a.nTable).outerWidth());b.style.width=v(j(a.nTable).outerWidth()+a.oScroll.iBarWidth);if(a.nTFoot!==null){b=a.nScrollFoot.getElementsByTagName("div")[0];c=b.getElementsByTagName("table")[0];
|
71
|
+
b.style.width=v(a.nTable.offsetWidth+a.oScroll.iBarWidth);c.style.width=v(a.nTable.offsetWidth)}}function U(a){if(a.oFeatures.bAutoWidth===false)return false;ea(a);for(var b=0,c=a.aoColumns.length;b<c;b++)a.aoColumns[b].nTh.style.width=a.aoColumns[b].sWidth}function sa(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.f=="undefined"&&b.setAttribute("id",a.sTableId+"_filter");b.className=a.oClasses.sFilter;b.innerHTML=a.oLanguage.sSearch+(a.oLanguage.sSearch===""?"":" ")+'<input type="text" />';
|
72
|
+
var c=j("input",b);c.val(a.oPreviousSearch.sSearch.replace('"',"""));c.keyup(function(){for(var d=a.aanFeatures.f,f=0,e=d.length;f<e;f++)d[f]!=this.parentNode&&j("input",d[f]).val(this.value);P(a,{sSearch:this.value,bRegex:a.oPreviousSearch.bRegex,bSmart:a.oPreviousSearch.bSmart})});c.keypress(function(d){if(d.keyCode==13)return false});return b}function P(a,b,c){ya(a,b.sSearch,c,b.bRegex,b.bSmart);for(b=0;b<a.aoPreSearchCols.length;b++)za(a,a.aoPreSearchCols[b].sSearch,b,a.aoPreSearchCols[b].bRegex,
|
73
|
+
a.aoPreSearchCols[b].bSmart);m.afnFiltering.length!==0&&Aa(a);a.bFiltered=true;a._iDisplayStart=0;F(a);D(a);Q(a,0)}function Aa(a){for(var b=m.afnFiltering,c=0,d=b.length;c<d;c++)for(var f=0,e=0,i=a.aiDisplay.length;e<i;e++){var h=a.aiDisplay[e-f];if(!b[c](a,a.aoData[h]._aData,h)){a.aiDisplay.splice(e-f,1);f++}}}function za(a,b,c,d,f){if(b!==""){var e=0;b=fa(b,d,f);for(d=a.aiDisplay.length-1;d>=0;d--){f=ga(a.aoData[a.aiDisplay[d]]._aData[c],a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,
|
74
|
+
1);e++}}}}function ya(a,b,c,d,f){var e=fa(b,d,f);if(typeof c=="undefined"||c===null)c=0;if(m.afnFiltering.length!==0)c=1;if(b.length<=0){a.aiDisplay.splice(0,a.aiDisplay.length);a.aiDisplay=a.aiDisplayMaster.slice()}else if(a.aiDisplay.length==a.aiDisplayMaster.length||a.oPreviousSearch.sSearch.length>b.length||c==1||b.indexOf(a.oPreviousSearch.sSearch)!==0){a.aiDisplay.splice(0,a.aiDisplay.length);Q(a,1);for(c=0;c<a.aiDisplayMaster.length;c++)e.test(a.asDataSearch[c])&&a.aiDisplay.push(a.aiDisplayMaster[c])}else{var i=
|
75
|
+
0;for(c=0;c<a.asDataSearch.length;c++)if(!e.test(a.asDataSearch[c])){a.aiDisplay.splice(c-i,1);i++}}a.oPreviousSearch.sSearch=b;a.oPreviousSearch.bRegex=d;a.oPreviousSearch.bSmart=f}function Q(a,b){a.asDataSearch.splice(0,a.asDataSearch.length);var c=p.createElement("div");b=typeof b!="undefined"&&b==1?a.aiDisplayMaster:a.aiDisplay;for(var d=0,f=b.length;d<f;d++){a.asDataSearch[d]="";for(var e=0,i=a.aoColumns.length;e<i;e++)if(a.aoColumns[e].bSearchable)a.asDataSearch[d]+=ga(a.aoData[b[d]]._aData[e],
|
76
|
+
a.aoColumns[e].sType)+" ";if(a.asDataSearch[d].indexOf("&")!==-1){c.innerHTML=a.asDataSearch[d];a.asDataSearch[d]=c.textContent?c.textContent:c.innerText}}}function fa(a,b,c){if(c){a=b?a.split(" "):ha(a).split(" ");a="^(?=.*?"+a.join(")(?=.*?")+").*$";return new RegExp(a,"i")}else{a=b?a:ha(a);return new RegExp(a,"i")}}function ga(a,b){if(typeof m.ofnSearch[b]=="function")return m.ofnSearch[b](a);else if(b=="html")return a.replace(/\n/g," ").replace(/<.*?>/g,"");else if(typeof a=="string")return a.replace(/\n/g,
|
77
|
+
" ");return a}function O(a,b){var c=[],d=m.oSort,f=a.aoData,e,i,h,k;if(!a.oFeatures.bServerSide&&(a.aaSorting.length!==0||a.aaSortingFixed!==null)){c=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(h=0;h<c.length;h++){e=c[h][0];i=N(a,e);k=a.aoColumns[e].sSortDataType;if(typeof m.afnSortData[k]!="undefined"){var o=m.afnSortData[k](a,e,i);i=0;for(k=f.length;i<k;i++)f[i]._aData[e]=o[i]}}if(Y.runtime){var t=[],s=c.length;for(h=0;h<s;h++){e=a.aoColumns[c[h][0]].iDataSort;
|
78
|
+
t.push([e,a.aoColumns[e].sType+"-"+c[h][1]])}a.aiDisplayMaster.sort(function(H,I){for(var A,G=0;G<s;G++){A=d[t[G][1]](f[H]._aData[t[G][0]],f[I]._aData[t[G][0]]);if(A!==0)return A}return 0})}else{this.ClosureDataTables={fn:function(){},data:f,sort:m.oSort};k="this.ClosureDataTables.fn = function(a,b){var iTest, oSort=this.ClosureDataTables.sort, aoData=this.ClosureDataTables.data;";for(h=0;h<c.length-1;h++){e=a.aoColumns[c[h][0]].iDataSort;i=a.aoColumns[e].sType;k+="iTest = oSort['"+i+"-"+c[h][1]+
|
79
|
+
"']( aoData[a]._aData["+e+"], aoData[b]._aData["+e+"] ); if ( iTest === 0 )"}if(c.length>0){e=a.aoColumns[c[c.length-1][0]].iDataSort;i=a.aoColumns[e].sType;k+="iTest = oSort['"+i+"-"+c[c.length-1][1]+"']( aoData[a]._aData["+e+"], aoData[b]._aData["+e+"] );if (iTest===0) return oSort['numeric-"+c[c.length-1][1]+"'](a, b); return iTest;}";eval(k);a.aiDisplayMaster.sort(this.ClosureDataTables.fn)}this.ClosureDataTables=undefined}}if(typeof b=="undefined"||b)W(a);a.bSorted=true;if(a.oFeatures.bFilter)P(a,
|
80
|
+
a.oPreviousSearch,1);else{a.aiDisplay=a.aiDisplayMaster.slice();a._iDisplayStart=0;F(a);D(a)}}function $(a,b,c,d){j(b).click(function(f){if(a.aoColumns[c].bSortable!==false){var e=function(){var i,h;if(f.shiftKey){for(var k=false,o=0;o<a.aaSorting.length;o++)if(a.aaSorting[o][0]==c){k=true;i=a.aaSorting[o][0];h=a.aaSorting[o][2]+1;if(typeof a.aoColumns[i].asSorting[h]=="undefined")a.aaSorting.splice(o,1);else{a.aaSorting[o][1]=a.aoColumns[i].asSorting[h];a.aaSorting[o][2]=h}break}k===false&&a.aaSorting.push([c,
|
81
|
+
a.aoColumns[c].asSorting[0],0])}else if(a.aaSorting.length==1&&a.aaSorting[0][0]==c){i=a.aaSorting[0][0];h=a.aaSorting[0][2]+1;if(typeof a.aoColumns[i].asSorting[h]=="undefined")h=0;a.aaSorting[0][1]=a.aoColumns[i].asSorting[h];a.aaSorting[0][2]=h}else{a.aaSorting.splice(0,a.aaSorting.length);a.aaSorting.push([c,a.aoColumns[c].asSorting[0],0])}O(a)};if(a.oFeatures.bProcessing){K(a,true);setTimeout(function(){e();a.oFeatures.bServerSide||K(a,false)},0)}else e();typeof d=="function"&&d(a)}})}function W(a){var b,
|
82
|
+
c,d,f,e,i=a.aoColumns.length,h=a.oClasses;for(b=0;b<i;b++)a.aoColumns[b].bSortable&&j(a.aoColumns[b].nTh).removeClass(h.sSortAsc+" "+h.sSortDesc+" "+a.aoColumns[b].sSortingClass);f=a.aaSortingFixed!==null?a.aaSortingFixed.concat(a.aaSorting):a.aaSorting.slice();for(b=0;b<a.aoColumns.length;b++)if(a.aoColumns[b].bSortable){e=a.aoColumns[b].sSortingClass;d=-1;for(c=0;c<f.length;c++)if(f[c][0]==b){e=f[c][1]=="asc"?h.sSortAsc:h.sSortDesc;d=c;break}j(a.aoColumns[b].nTh).addClass(e);if(a.bJUI){c=j("span",
|
83
|
+
a.aoColumns[b].nTh);c.removeClass(h.sSortJUIAsc+" "+h.sSortJUIDesc+" "+h.sSortJUI+" "+h.sSortJUIAscAllowed+" "+h.sSortJUIDescAllowed);c.addClass(d==-1?a.aoColumns[b].sSortingClassJUI:f[d][1]=="asc"?h.sSortJUIAsc:h.sSortJUIDesc)}}else j(a.aoColumns[b].nTh).addClass(a.aoColumns[b].sSortingClass);e=h.sSortColumn;if(a.oFeatures.bSort&&a.oFeatures.bSortClasses){d=X(a);if(d.length>=i)for(b=0;b<i;b++)if(d[b].className.indexOf(e+"1")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=d[i*c+b].className.replace(" "+
|
84
|
+
e+"1","")}else if(d[b].className.indexOf(e+"2")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=d[i*c+b].className.replace(" "+e+"2","")}else if(d[b].className.indexOf(e+"3")!=-1){c=0;for(a=d.length/i;c<a;c++)d[i*c+b].className=d[i*c+b].className.replace(" "+e+"3","")}h=1;var k;for(b=0;b<f.length;b++){k=parseInt(f[b][0],10);c=0;for(a=d.length/i;c<a;c++)d[i*c+k].className+=" "+e+h;h<3&&h++}}}function wa(a){var b=p.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType;m.oPagination[a.sPaginationType].fnInit(a,
|
85
|
+
b,function(c){F(c);D(c)});typeof a.aanFeatures.p=="undefined"&&a.aoDrawCallback.push({fn:function(c){m.oPagination[c.sPaginationType].fnUpdate(c,function(d){F(d);D(d)})},sName:"pagination"});return b}function Ba(a,b){var c=a._iDisplayStart;if(b=="first")a._iDisplayStart=0;else if(b=="previous"){a._iDisplayStart=a._iDisplayLength>=0?a._iDisplayStart-a._iDisplayLength:0;if(a._iDisplayStart<0)a._iDisplayStart=0}else if(b=="next")if(a._iDisplayLength>=0){if(a._iDisplayStart+a._iDisplayLength<a.fnRecordsDisplay())a._iDisplayStart+=
|
86
|
+
a._iDisplayLength}else a._iDisplayStart=0;else if(b=="last")if(a._iDisplayLength>=0){b=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=0;else J(a,0,"Unknown paging action: "+b);return c!=a._iDisplayStart}function va(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Ca,sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}
|
87
|
+
function Ca(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=j(a.aanFeatures.i[0]),c=a.fnFormatNumber(a.fnRecordsTotal()),d=a.fnFormatNumber(a._iDisplayStart+1),f=a.fnFormatNumber(a.fnDisplayEnd()),e=a.fnFormatNumber(a.fnRecordsDisplay());if(a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal())b.html(a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix);else if(a.fnRecordsDisplay()===0)b.html(a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",c)+a.oLanguage.sInfoPostFix);
|
88
|
+
else a.fnRecordsDisplay()==a.fnRecordsTotal()?b.html(a.oLanguage.sInfo.replace("_START_",d).replace("_END_",f).replace("_TOTAL_",e)+a.oLanguage.sInfoPostFix):b.html(a.oLanguage.sInfo.replace("_START_",d).replace("_END_",f).replace("_TOTAL_",e)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix);a=a.aanFeatures.i;if(a.length>1){b=b.html();c=1;for(d=a.length;c<d;c++)j(a[c]).html(b)}}}function ra(a){var b='<select size="1" '+(a.sTableId===""?
|
89
|
+
"":'name="'+a.sTableId+'_length"')+">",c,d;if(a.aLengthMenu.length==2&&typeof a.aLengthMenu[0]=="object"&&typeof a.aLengthMenu[1]=="object"){c=0;for(d=a.aLengthMenu[0].length;c<d;c++)b+='<option value="'+a.aLengthMenu[0][c]+'">'+a.aLengthMenu[1][c]+"</option>"}else{c=0;for(d=a.aLengthMenu.length;c<d;c++)b+='<option value="'+a.aLengthMenu[c]+'">'+a.aLengthMenu[c]+"</option>"}b+="</select>";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+
|
90
|
+
"_length");f.className=a.oClasses.sLength;f.innerHTML=a.oLanguage.sLengthMenu.replace("_MENU_",b);j('select option[value="'+a._iDisplayLength+'"]',f).attr("selected",true);j("select",f).change(function(){var e=j(this).val(),i=a.aanFeatures.l;c=0;for(d=i.length;c<d;c++)i[c]!=this.parentNode&&j("select",i[c]).val(e);a._iDisplayLength=parseInt(e,10);F(a);if(a.fnDisplayEnd()==a.fnRecordsDisplay()){a._iDisplayStart=a.fnDisplayEnd()-a._iDisplayLength;if(a._iDisplayStart<0)a._iDisplayStart=0}if(a._iDisplayLength==
|
91
|
+
-1)a._iDisplayStart=0;D(a)});return f}function ta(a){var b=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.r=="undefined"&&b.setAttribute("id",a.sTableId+"_processing");b.innerHTML=a.oLanguage.sProcessing;b.className=a.oClasses.sProcessing;a.nTable.parentNode.insertBefore(b,a.nTable);return b}function K(a,b){if(a.oFeatures.bProcessing){a=a.aanFeatures.r;for(var c=0,d=a.length;c<d;c++)a[c].style.visibility=b?"visible":"hidden"}}function da(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===
|
92
|
+
true&&c++;if(c==b)return d}return null}function N(a,b){for(var c=-1,d=0;d<a.aoColumns.length;d++){a.aoColumns[d].bVisible===true&&c++;if(d==b)return a.aoColumns[d].bVisible===true?c:null}return null}function R(a,b){var c,d;c=a._iDisplayStart;for(d=a._iDisplayEnd;c<d;c++)if(a.aoData[a.aiDisplay[c]].nTr==b)return a.aiDisplay[c];c=0;for(d=a.aoData.length;c<d;c++)if(a.aoData[c].nTr==b)return c;return null}function T(a){for(var b=0,c=0;c<a.aoColumns.length;c++)a.aoColumns[c].bVisible===true&&b++;return b}
|
93
|
+
function F(a){a._iDisplayEnd=a.oFeatures.bPaginate===false?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength>a.aiDisplay.length||a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Da(a,b){if(!a||a===null||a==="")return 0;if(typeof b=="undefined")b=p.getElementsByTagName("body")[0];var c=p.createElement("div");c.style.width=a;b.appendChild(c);a=c.offsetWidth;b.removeChild(c);return a}function ea(a){var b=0,c,d=0,f=a.aoColumns.length,e,i=j("th",a.nTHead);for(e=
|
94
|
+
0;e<f;e++)if(a.aoColumns[e].bVisible){d++;if(a.aoColumns[e].sWidth!==null){c=Da(a.aoColumns[e].sWidthOrig,a.nTable.parentNode);if(c!==null)a.aoColumns[e].sWidth=v(c);b++}}if(f==i.length&&b===0&&d==f){ia(a,a.nTable);for(e=0;e<a.aoColumns.length;e++){c=j(i[e]).width();if(c!==null)a.aoColumns[e].sWidth=v(c)}}else{b=a.nTable.cloneNode(false);e=p.createElement("tbody");c=p.createElement("tr");b.removeAttribute("id");b.appendChild(a.nTHead.cloneNode(true));if(a.nTFoot!==null){b.appendChild(a.nTFoot.cloneNode(true));
|
95
|
+
M(function(h){h.style.width=""},b.getElementsByTagName("tr"))}b.appendChild(e);e.appendChild(c);e=j("thead th",b);if(e.length===0)e=j("tbody tr:eq(0)>td",b);e.each(function(h){this.style.width="";h=da(a,h);if(h!==null&&a.aoColumns[h].sWidthOrig!=="")this.style.width=a.aoColumns[h].sWidthOrig});for(e=0;e<f;e++)if(a.aoColumns[e].bVisible){d=Ea(a,e);if(d!==null){d=d.cloneNode(true);c.appendChild(d)}}e=a.nTable.parentNode;e.appendChild(b);if(a.oScroll.sX!==""&&a.oScroll.sXInner!=="")b.style.width=v(a.oScroll.sXInner);
|
96
|
+
else if(a.oScroll.sX!==""){b.style.width="";if(j(b).width()<e.offsetWidth)b.style.width=v(e.offsetWidth)}else b.style.width=v(e.offsetWidth);b.style.visibility="hidden";ia(a,b);f=j("tbody tr:eq(0)>td",b);if(f.length===0)f=j("thead tr:eq(0)>th",b);for(e=c=0;e<a.aoColumns.length;e++)if(a.aoColumns[e].bVisible){d=j(f[c]).width();if(d!==null&&d>0)a.aoColumns[e].sWidth=v(d);c++}a.nTable.style.width=v(j(b).outerWidth());b.parentNode.removeChild(b)}}function ia(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==
|
97
|
+
""){j(b).width();b.style.width=v(j(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!=="")b.style.width=v(j(b).outerWidth())}function Ea(a,b,c){if(typeof c=="undefined"||c){c=Fa(a,b);b=N(a,b);if(c<0)return null;return a.aoData[c].nTr.getElementsByTagName("td")[b]}var d=-1,f,e;c=-1;var i=p.createElement("div");i.style.visibility="hidden";i.style.position="absolute";p.body.appendChild(i);f=0;for(e=a.aoData.length;f<e;f++){i.innerHTML=a.aoData[f]._aData[b];if(i.offsetWidth>d){d=i.offsetWidth;
|
98
|
+
c=f}}p.body.removeChild(i);if(c>=0){b=N(a,b);if(a=a.aoData[c].nTr.getElementsByTagName("td")[b])return a}return null}function Fa(a,b){for(var c=0,d=-1,f=0;f<a.aoData.length;f++){var e=a.aoData[f]._aData[b];if(e.length>c){c=e.length;d=f}}return d}function v(a){if(a===null)return"0px";if(typeof a=="number")return a+"px";if(a.indexOf("em")!=-1||a.indexOf("%")!=-1||a.indexOf("ex")!=-1||a.indexOf("px")!=-1)return a;return a+"px"}function La(a,b){if(a.length!=b.length)return 1;for(var c=0;c<a.length;c++)if(a[c]!=
|
99
|
+
b[c])return 2;return 0}function Z(a){for(var b=m.aTypes,c=b.length,d=0;d<c;d++){var f=b[d](a);if(f!==null)return f}return"string"}function B(a){for(var b=0;b<E.length;b++)if(E[b].nTable==a)return E[b];return null}function V(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d]._aData);return b}function S(a){for(var b=[],c=a.aoData.length,d=0;d<c;d++)b.push(a.aoData[d].nTr);return b}function X(a){var b=S(a),c=[],d,f=[],e,i,h,k;e=0;for(i=b.length;e<i;e++){c=[];h=0;for(k=b[e].childNodes.length;h<
|
100
|
+
k;h++){d=b[e].childNodes[h];d.nodeName.toUpperCase()=="TD"&&c.push(d)}h=d=0;for(k=a.aoColumns.length;h<k;h++)if(a.aoColumns[h].bVisible)f.push(c[h-d]);else{f.push(a.aoData[e]._anHidden[h]);d++}}return f}function ha(a){return a.replace(new RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^)","g"),"\\$1")}function ja(a,b){for(var c=-1,d=0,f=a.length;d<f;d++)if(a[d]==b)c=d;else a[d]>b&&a[d]--;c!=-1&&a.splice(c,1)}function qa(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d<
|
101
|
+
f;d++)for(var e=0;e<f;e++)if(a.aoColumns[d].sName==b[e]){c.push(e);break}return c}function aa(a){for(var b="",c=0,d=a.aoColumns.length;c<d;c++)b+=a.aoColumns[c].sName+",";if(b.length==d)return"";return b.slice(0,-1)}function J(a,b,c){a=a.sTableId===""?"DataTables warning: "+c:"DataTables warning (table id = '"+a.sTableId+"'): "+c;if(b===0)if(m.sErrMode=="alert")alert(a);else throw a;else typeof console!="undefined"&&typeof console.log!="undefined"&&console.log(a)}function ba(a){a.aoData.length=0;
|
102
|
+
a.aiDisplayMaster.length=0;a.aiDisplay.length=0;F(a)}function Ga(a){if(a.oFeatures.bStateSave){var b,c="{";c+='"iCreate": '+(new Date).getTime()+",";c+='"iStart": '+a._iDisplayStart+",";c+='"iEnd": '+a._iDisplayEnd+",";c+='"iLength": '+a._iDisplayLength+",";c+='"sFilter": "'+a.oPreviousSearch.sSearch.replace('"','\\"')+'",';c+='"sFilterEsc": '+!a.oPreviousSearch.bRegex+",";c+='"aaSorting": [ ';for(b=0;b<a.aaSorting.length;b++)c+="["+a.aaSorting[b][0]+",'"+a.aaSorting[b][1]+"'],";c=c.substring(0,c.length-
|
103
|
+
1);c+="],";c+='"aaSearchCols": [ ';for(b=0;b<a.aoPreSearchCols.length;b++)c+="['"+a.aoPreSearchCols[b].sSearch.replace("'","'")+"',"+!a.aoPreSearchCols[b].bRegex+"],";c=c.substring(0,c.length-1);c+="],";c+='"abVisCols": [ ';for(b=0;b<a.aoColumns.length;b++)c+=a.aoColumns[b].bVisible+",";c=c.substring(0,c.length-1);c+="]";c+="}";Ha(a.sCookiePrefix+a.sInstance,c,a.iCookieDuration,a.sCookiePrefix)}}function Ia(a,b){if(a.oFeatures.bStateSave){var c,d=ka(a.sCookiePrefix+a.sInstance);if(d!==null&&d!==""){try{c=
|
104
|
+
typeof JSON=="object"&&typeof JSON.parse=="function"?JSON.parse(d.replace(/'/g,'"')):eval("("+d+")")}catch(f){return}a._iDisplayStart=c.iStart;a.iInitDisplayStart=c.iStart;a._iDisplayEnd=c.iEnd;a._iDisplayLength=c.iLength;a.oPreviousSearch.sSearch=c.sFilter;a.aaSorting=c.aaSorting.slice();a.saved_aaSorting=c.aaSorting.slice();if(typeof c.sFilterEsc!="undefined")a.oPreviousSearch.bRegex=!c.sFilterEsc;if(typeof c.aaSearchCols!="undefined")for(d=0;d<c.aaSearchCols.length;d++)a.aoPreSearchCols[d]={sSearch:c.aaSearchCols[d][0],
|
105
|
+
bRegex:!c.aaSearchCols[d][1]};if(typeof c.abVisCols!="undefined"){b.saved_aoColumns=[];for(d=0;d<c.abVisCols.length;d++){b.saved_aoColumns[d]={};b.saved_aoColumns[d].bVisible=c.abVisCols[d]}}}}}function Ha(a,b,c,d){var f=new Date;f.setTime(f.getTime()+c*1E3);c=Y.location.pathname.split("/");var e=a+"_"+c.pop().replace(/[\/:]/g,"").toLowerCase();b=e+"="+encodeURIComponent(b)+"; expires="+f.toGMTString()+"; path="+c.join("/")+"/";f="";a=9999999999999;var i;if((ka(e)!==null?p.cookie.length:b.length+
|
106
|
+
p.cookie.length)+10>4096){e=p.cookie.split(";");for(var h=0,k=e.length;h<k;h++)if(e[h].indexOf(d)!=-1){var o=e[h].split("=");try{i=eval("("+decodeURIComponent(o[1])+")")}catch(t){continue}if(typeof i.iCreate!="undefined"&&i.iCreate<a){f=o[0];a=i.iCreate}}if(f!=="")p.cookie=f+"=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path="+c.join("/")+"/"}p.cookie=b}function ka(a){var b=Y.location.pathname.split("/");a=a+"_"+b[b.length-1].replace(/[\/:]/g,"").toLowerCase()+"=";b=p.cookie.split(";");for(var c=0;c<
|
107
|
+
b.length;c++){for(var d=b[c];d.charAt(0)==" ";)d=d.substring(1,d.length);if(d.indexOf(a)===0)return decodeURIComponent(d.substring(a.length,d.length))}return null}function ca(a){a=a.getElementsByTagName("tr");if(a.length==1)return a[0].getElementsByTagName("th");var b=[],c=[],d,f,e,i,h,k,o=function(G,Ma,la){for(;typeof G[Ma][la]!="undefined";)la++;return la},t=function(G){if(typeof b[G]=="undefined")b[G]=[]};d=0;for(i=a.length;d<i;d++){t(d);var s=0,H=[];f=0;for(h=a[d].childNodes.length;f<h;f++)if(a[d].childNodes[f].nodeName.toUpperCase()==
|
108
|
+
"TD"||a[d].childNodes[f].nodeName.toUpperCase()=="TH")H.push(a[d].childNodes[f]);f=0;for(h=H.length;f<h;f++){var I=H[f].getAttribute("colspan")*1,A=H[f].getAttribute("rowspan")*1;if(!I||I===0||I===1){k=o(b,d,s);b[d][k]=H[f].nodeName.toUpperCase()=="TD"?4:H[f];if(A||A===0||A===1)for(e=1;e<A;e++){t(d+e);b[d+e][k]=2}s++}else{k=o(b,d,s);for(e=0;e<I;e++)b[d][k+e]=3;s+=I}}}d=0;for(i=b[0].length;d<i;d++){f=0;for(h=b.length;f<h;f++)typeof b[f][d]=="object"&&c.push(b[f][d])}return c}function Ja(){var a=p.createElement("p"),
|
109
|
+
b=a.style;b.width="100%";b.height="200px";var c=p.createElement("div");b=c.style;b.position="absolute";b.top="0px";b.left="0px";b.visibility="hidden";b.width="200px";b.height="150px";b.overflow="hidden";c.appendChild(a);p.body.appendChild(c);b=a.offsetWidth;c.style.overflow="scroll";a=a.offsetWidth;if(b==a)a=c.clientWidth;p.body.removeChild(c);return b-a}function M(a,b,c){for(var d=0,f=b.length;d<f;d++)for(var e=0,i=b[d].childNodes.length;e<i;e++)if(b[d].childNodes[e].nodeType==1)typeof c!="undefined"?
|
110
|
+
a(b[d].childNodes[e],c[d].childNodes[e]):a(b[d].childNodes[e])}function n(a,b,c,d){if(typeof d=="undefined")d=c;if(typeof b[c]!="undefined")a[d]=b[c]}this.oApi={};this.fnDraw=function(a){var b=B(this[m.iApiIndex]);if(typeof a!="undefined"&&a===false){F(b);D(b)}else L(b)};this.fnFilter=function(a,b,c,d,f){var e=B(this[m.iApiIndex]);if(e.oFeatures.bFilter){if(typeof c=="undefined")c=false;if(typeof d=="undefined")d=true;if(typeof f=="undefined")f=true;if(typeof b=="undefined"||b===null){P(e,{sSearch:a,
|
111
|
+
bRegex:c,bSmart:d},1);if(f&&typeof e.aanFeatures.f!="undefined"){b=e.aanFeatures.f;c=0;for(d=b.length;c<d;c++)j("input",b[c]).val(a)}}else{e.aoPreSearchCols[b].sSearch=a;e.aoPreSearchCols[b].bRegex=c;e.aoPreSearchCols[b].bSmart=d;P(e,e.oPreviousSearch,1)}}};this.fnSettings=function(){return B(this[m.iApiIndex])};this.fnVersionCheck=m.fnVersionCheck;this.fnSort=function(a){var b=B(this[m.iApiIndex]);b.aaSorting=a;O(b)};this.fnSortListener=function(a,b,c){$(B(this[m.iApiIndex]),a,b,c)};this.fnAddData=
|
112
|
+
function(a,b){if(a.length===0)return[];var c=[],d,f=B(this[m.iApiIndex]);if(typeof a[0]=="object")for(var e=0;e<a.length;e++){d=w(f,a[e]);if(d==-1)return c;c.push(d)}else{d=w(f,a);if(d==-1)return c;c.push(d)}f.aiDisplay=f.aiDisplayMaster.slice();Q(f,1);if(typeof b=="undefined"||b)L(f);return c};this.fnDeleteRow=function(a,b,c){var d=B(this[m.iApiIndex]);a=typeof a=="object"?R(d,a):a;var f=d.aoData.splice(a,1);ja(d.aiDisplayMaster,a);ja(d.aiDisplay,a);Q(d,1);typeof b=="function"&&b.call(this,d,f);
|
113
|
+
if(d._iDisplayStart>=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){F(d);D(d)}return f};this.fnClearTable=function(a){var b=B(this[m.iApiIndex]);ba(b);if(typeof a=="undefined"||a)D(b)};this.fnOpen=function(a,b,c){var d=B(this[m.iApiIndex]);this.fnClose(a);var f=p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c;e.colSpan=T(d);e.innerHTML=b;b=j("tr",d.nTBody);j.inArray(a,b)!=-1&&j(f).insertAfter(a);
|
114
|
+
d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=B(this[m.iApiIndex]),c=0;c<b.aoOpenRows.length;c++)if(b.aoOpenRows[c].nParent==a){(a=b.aoOpenRows[c].nTr.parentNode)&&a.removeChild(b.aoOpenRows[c].nTr);b.aoOpenRows.splice(c,1);return 0}return 1};this.fnGetData=function(a){var b=B(this[m.iApiIndex]);if(typeof a!="undefined"){a=typeof a=="object"?R(b,a):a;return b.aoData[a]._aData}return V(b)};this.fnGetNodes=function(a){var b=B(this[m.iApiIndex]);if(typeof a!="undefined")return b.aoData[a].nTr;
|
115
|
+
return S(b)};this.fnGetPosition=function(a){var b=B(this[m.iApiIndex]);if(a.nodeName.toUpperCase()=="TR")return R(b,a);else if(a.nodeName.toUpperCase()=="TD")for(var c=R(b,a.parentNode),d=0,f=0;f<b.aoColumns.length;f++)if(b.aoColumns[f].bVisible){if(b.aoData[c].nTr.getElementsByTagName("td")[f-d]==a)return[c,f-d,f]}else d++;return null};this.fnUpdate=function(a,b,c,d,f){var e=B(this[m.iApiIndex]),i=typeof b=="object"?R(e,b):b;if(typeof a!="object"){b=a;e.aoData[i]._aData[c]=b;if(e.aoColumns[c].fnRender!==
|
116
|
+
null){b=e.aoColumns[c].fnRender({iDataRow:i,iDataColumn:c,aData:e.aoData[i]._aData,oSettings:e});if(e.aoColumns[c].bUseRendered)e.aoData[i]._aData[c]=b}c=N(e,c);if(c!==null)e.aoData[i].nTr.getElementsByTagName("td")[c].innerHTML=b}else{if(a.length!=e.aoColumns.length){J(e,0,"An array passed to fnUpdate must have the same number of columns as the table in question - in this case "+e.aoColumns.length);return 1}for(var h=0;h<a.length;h++){b=a[h];e.aoData[i]._aData[h]=b;if(e.aoColumns[h].fnRender!==null){b=
|
117
|
+
e.aoColumns[h].fnRender({iDataRow:i,iDataColumn:h,aData:e.aoData[i]._aData,oSettings:e});if(e.aoColumns[h].bUseRendered)e.aoData[i]._aData[h]=b}c=N(e,h);if(c!==null)e.aoData[i].nTr.getElementsByTagName("td")[c].innerHTML=b}}if(typeof f=="undefined"||f){Q(e,1);U(e)}if(typeof d=="undefined"||d)L(e);return 0};this.fnSetColumnVis=function(a,b){var c=B(this[m.iApiIndex]),d,f;f=c.aoColumns.length;var e,i;if(c.aoColumns[a].bVisible!=b){e=j(">tr",c.nTHead)[0];var h=j(">tr",c.nTFoot)[0],k=[],o=[];for(d=0;d<
|
118
|
+
f;d++){k.push(c.aoColumns[d].nTh);o.push(c.aoColumns[d].nTf)}if(b){for(d=b=0;d<a;d++)c.aoColumns[d].bVisible&&b++;if(b>=T(c)){e.appendChild(k[a]);h&&h.appendChild(o[a]);d=0;for(f=c.aoData.length;d<f;d++){e=c.aoData[d]._anHidden[a];c.aoData[d].nTr.appendChild(e)}}else{for(d=a;d<f;d++){i=N(c,d);if(i!==null)break}e.insertBefore(k[a],e.getElementsByTagName("th")[i]);h&&h.insertBefore(o[a],h.getElementsByTagName("th")[i]);X(c);d=0;for(f=c.aoData.length;d<f;d++){e=c.aoData[d]._anHidden[a];c.aoData[d].nTr.insertBefore(e,
|
119
|
+
j(">td:eq("+i+")",c.aoData[d].nTr)[0])}}c.aoColumns[a].bVisible=true}else{e.removeChild(k[a]);h&&h.removeChild(o[a]);i=X(c);d=0;for(f=c.aoData.length;d<f;d++){e=i[d*c.aoColumns.length+a*1];c.aoData[d]._anHidden[a]=e;e.parentNode.removeChild(e)}c.aoColumns[a].bVisible=false}d=0;for(f=c.aoOpenRows.length;d<f;d++)c.aoOpenRows[d].nTr.colSpan=T(c);U(c);D(c)}};this.fnPageChange=function(a,b){var c=B(this[m.iApiIndex]);Ba(c,a);F(c);if(typeof b=="undefined"||b)D(c)};this.fnDestroy=function(){var a=B(this[m.iApiIndex]),
|
120
|
+
b=a.nTableWrapper.parentNode,c=a.nTBody,d;a.nTable.parentNode.removeChild(a.nTable);j(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];W(a);j(S(a)).removeClass(a.asStripClasses.join(" "));if(a.bJUI){j("th",a.nTHead).removeClass([m.oStdClasses.sSortable,m.oJUIClasses.sSortableAsc,m.oJUIClasses.sSortableDesc,m.oJUIClasses.sSortableNone].join(" "));j("th span",a.nTHead).remove()}else j("th",a.nTHead).removeClass([m.oStdClasses.sSortable,m.oStdClasses.sSortableAsc,m.oStdClasses.sSortableDesc,
|
121
|
+
m.oStdClasses.sSortableNone].join(" "));b.appendChild(a.nTable);b=0;for(d=a.aoData.length;b<d;b++)c.appendChild(a.aoData[b].nTr);j(">tr:even",c).addClass(a.asDestoryStrips[0]);j(">tr:odd",c).addClass(a.asDestoryStrips[1]);b=0;for(d=E.length;b<d;b++)E[b]==a&&E.splice(b,1)};this.fnAdjustColumnSizing=function(a){U(B(this[m.iApiIndex]));if(typeof a=="undefined"||a)this.fnDraw(false)};for(var ma in m.oApi)if(ma)this[ma]=q(ma);this.oApi._fnExternApiFunc=q;this.oApi._fnInitalise=r;this.oApi._fnLanguageProcess=
|
122
|
+
u;this.oApi._fnAddColumn=y;this.oApi._fnColumnOptions=C;this.oApi._fnAddData=w;this.oApi._fnGatherData=x;this.oApi._fnDrawHead=z;this.oApi._fnDraw=D;this.oApi._fnReDraw=L;this.oApi._fnAjaxUpdate=oa;this.oApi._fnAjaxUpdateDraw=pa;this.oApi._fnAddOptionsHtml=na;this.oApi._fnFeatureHtmlTable=ua;this.oApi._fnScrollDraw=xa;this.oApi._fnAjustColumnSizing=U;this.oApi._fnFeatureHtmlFilter=sa;this.oApi._fnFilterComplete=P;this.oApi._fnFilterCustom=Aa;this.oApi._fnFilterColumn=za;this.oApi._fnFilter=ya;this.oApi._fnBuildSearchArray=
|
123
|
+
Q;this.oApi._fnFilterCreateSearch=fa;this.oApi._fnDataToSearch=ga;this.oApi._fnSort=O;this.oApi._fnSortAttachListener=$;this.oApi._fnSortingClasses=W;this.oApi._fnFeatureHtmlPaginate=wa;this.oApi._fnPageChange=Ba;this.oApi._fnFeatureHtmlInfo=va;this.oApi._fnUpdateInfo=Ca;this.oApi._fnFeatureHtmlLength=ra;this.oApi._fnFeatureHtmlProcessing=ta;this.oApi._fnProcessingDisplay=K;this.oApi._fnVisibleToColumnIndex=da;this.oApi._fnColumnIndexToVisible=N;this.oApi._fnNodeToDataIndex=R;this.oApi._fnVisbleColumns=
|
124
|
+
T;this.oApi._fnCalculateEnd=F;this.oApi._fnConvertToWidth=Da;this.oApi._fnCalculateColumnWidths=ea;this.oApi._fnScrollingWidthAdjust=ia;this.oApi._fnGetWidestNode=Ea;this.oApi._fnGetMaxLenString=Fa;this.oApi._fnStringToCss=v;this.oApi._fnArrayCmp=La;this.oApi._fnDetectType=Z;this.oApi._fnSettingsFromNode=B;this.oApi._fnGetDataMaster=V;this.oApi._fnGetTrNodes=S;this.oApi._fnGetTdNodes=X;this.oApi._fnEscapeRegex=ha;this.oApi._fnDeleteIndex=ja;this.oApi._fnReOrderIndex=qa;this.oApi._fnColumnOrdering=
|
125
|
+
aa;this.oApi._fnLog=J;this.oApi._fnClearTable=ba;this.oApi._fnSaveState=Ga;this.oApi._fnLoadState=Ia;this.oApi._fnCreateCookie=Ha;this.oApi._fnReadCookie=ka;this.oApi._fnGetUniqueThs=ca;this.oApi._fnScrollBarWidth=Ja;this.oApi._fnApplyToChildren=M;this.oApi._fnMap=n;var Ka=this;return this.each(function(){var a=0,b,c,d,f;a=0;for(b=E.length;a<b;a++){if(E[a].nTable==this)if(typeof g=="undefined"||typeof g.bRetrieve!="undefined"&&g.bRetrieve===true)return E[a].oInstance;else if(typeof g.bDestroy!="undefined"&&
|
126
|
+
g.bDestroy===true){E[a].oInstance.fnDestroy();break}else{J(E[a],0,"Cannot reinitialise DataTable.\n\nTo retrieve the DataTables object for this table, please pass either no arguments to the dataTable() function, or set bRetrieve to true. Alternatively, to destory the old table and create a new one, set bDestroy to true (note that a lot of changes to the configuration can be made through the API which is usually much faster).");return}if(E[a].sTableId!==""&&E[a].sTableId==this.getAttribute("id")){E.splice(a,
|
127
|
+
1);break}}var e=new l;E.push(e);var i=false,h=false;a=this.getAttribute("id");if(a!==null){e.sTableId=a;e.sInstance=a}else e.sInstance=m._oExternConfig.iNextUnique++;e.oInstance=Ka;e.nTable=this;e.oApi=Ka.oApi;if(typeof g!="undefined"&&g!==null){e.oInit=g;n(e.oFeatures,g,"bPaginate");n(e.oFeatures,g,"bLengthChange");n(e.oFeatures,g,"bFilter");n(e.oFeatures,g,"bSort");n(e.oFeatures,g,"bInfo");n(e.oFeatures,g,"bProcessing");n(e.oFeatures,g,"bAutoWidth");n(e.oFeatures,g,"bSortClasses");n(e.oFeatures,
|
128
|
+
g,"bServerSide");n(e.oScroll,g,"sScrollX","sX");n(e.oScroll,g,"sScrollXInner","sXInner");n(e.oScroll,g,"sScrollY","sY");n(e.oScroll,g,"bScrollCollapse","bCollapse");n(e,g,"asStripClasses");n(e,g,"fnRowCallback");n(e,g,"fnHeaderCallback");n(e,g,"fnFooterCallback");n(e,g,"fnInitComplete");n(e,g,"fnServerData");n(e,g,"fnFormatNumber");n(e,g,"aaSorting");n(e,g,"aaSortingFixed");n(e,g,"aLengthMenu");n(e,g,"sPaginationType");n(e,g,"sAjaxSource");n(e,g,"iCookieDuration");n(e,g,"sCookiePrefix");n(e,g,"sDom");
|
129
|
+
n(e,g,"oSearch","oPreviousSearch");n(e,g,"aoSearchCols","aoPreSearchCols");n(e,g,"iDisplayLength","_iDisplayLength");n(e,g,"bJQueryUI","bJUI");typeof g.fnDrawCallback=="function"&&e.aoDrawCallback.push({fn:g.fnDrawCallback,sName:"user"});e.oFeatures.bServerSide&&e.oFeatures.bSort&&e.oFeatures.bSortClasses&&e.aoDrawCallback.push({fn:W,sName:"server_side_sort_classes"});if(typeof g.bJQueryUI!="undefined"&&g.bJQueryUI){e.oClasses=m.oJUIClasses;if(typeof g.sDom=="undefined")e.sDom='<"H"lfr>t<"F"ip>'}if(e.oScroll.sX!==
|
130
|
+
""||e.oScroll.sY!=="")e.oScroll.iBarWidth=Ja();if(typeof g.iDisplayStart!="undefined"&&typeof e.iInitDisplayStart=="undefined"){e.iInitDisplayStart=g.iDisplayStart;e._iDisplayStart=g.iDisplayStart}if(typeof g.bStateSave!="undefined"){e.oFeatures.bStateSave=g.bStateSave;Ia(e,g);e.aoDrawCallback.push({fn:Ga,sName:"state_save"})}if(typeof g.aaData!="undefined")h=true;if(typeof g!="undefined"&&typeof g.aoData!="undefined")g.aoColumns=g.aoData;if(typeof g.oLanguage!="undefined")if(typeof g.oLanguage.sUrl!=
|
131
|
+
"undefined"&&g.oLanguage.sUrl!==""){e.oLanguage.sUrl=g.oLanguage.sUrl;j.getJSON(e.oLanguage.sUrl,null,function(o){u(e,o,true)});i=true}else u(e,g.oLanguage,false)}else g={};if(typeof g.asStripClasses=="undefined"){e.asStripClasses.push(e.oClasses.sStripOdd);e.asStripClasses.push(e.oClasses.sStripEven)}c=false;d=j("tbody>tr",this);a=0;for(b=e.asStripClasses.length;a<b;a++)if(d.filter(":lt(2)").hasClass(e.asStripClasses[a])){c=true;break}if(c){e.asDestoryStrips=["",""];if(j(d[0]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[0]+=
|
132
|
+
e.oClasses.sStripOdd+" ";if(j(d[0]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[0]+=e.oClasses.sStripEven;if(j(d[1]).hasClass(e.oClasses.sStripOdd))e.asDestoryStrips[1]+=e.oClasses.sStripOdd+" ";if(j(d[1]).hasClass(e.oClasses.sStripEven))e.asDestoryStrips[1]+=e.oClasses.sStripEven;d.removeClass(e.asStripClasses.join(" "))}a=this.getElementsByTagName("thead");c=a.length===0?[]:ca(a[0]);d=typeof g.aoColumns!="undefined";a=0;for(b=d?g.aoColumns.length:c.length;a<b;a++){f=d?g.aoColumns[a]:null;
|
133
|
+
var k=c?c[a]:null;if(typeof g.saved_aoColumns!="undefined"&&g.saved_aoColumns.length==b){if(f===null)f={};f.bVisible=g.saved_aoColumns[a].bVisible}y(e,k)}if(typeof g.aoColumnDefs!="undefined")for(a=g.aoColumnDefs.length-1;a>=0;a--){k=g.aoColumnDefs[a].aTargets;c=0;for(d=k.length;c<d;c++)if(typeof k[c]=="number"&&k[c]>=0){for(;e.aoColumns.length<=k[c];)y(e);C(e,k[c],g.aoColumnDefs[a])}else if(typeof k[c]=="number"&&k[c]<0)C(e,e.aoColumns.length+k[c],g.aoColumnDefs[a]);else if(typeof k[c]=="string"){b=
|
134
|
+
0;for(f=e.aoColumns.length;b<f;b++)if(k[c]=="_all"||e.aoColumns[b].nTh.className.indexOf(k[c])!=-1)C(e,b,g.aoColumnDefs[a])}}if(typeof g.aoColumns!="undefined"){a=0;for(b=g.aoColumns.length;a<b;a++)C(e,a,g.aoColumns[a])}a=0;for(b=e.aaSorting.length;a<b;a++){f=e.aoColumns[e.aaSorting[a][0]];if(typeof e.aaSorting[a][2]=="undefined")e.aaSorting[a][2]=0;if(typeof g.aaSorting=="undefined"&&typeof e.saved_aaSorting=="undefined")e.aaSorting[a][1]=f.asSorting[0];c=0;for(d=f.asSorting.length;c<d;c++)if(e.aaSorting[a][1]==
|
135
|
+
f.asSorting[c]){e.aaSorting[a][2]=c;break}}this.getElementsByTagName("thead").length===0&&this.appendChild(p.createElement("thead"));this.getElementsByTagName("tbody").length===0&&this.appendChild(p.createElement("tbody"));e.nTHead=this.getElementsByTagName("thead")[0];e.nTBody=this.getElementsByTagName("tbody")[0];if(this.getElementsByTagName("tfoot").length>0)e.nTFoot=this.getElementsByTagName("tfoot")[0];if(h)for(a=0;a<g.aaData.length;a++)w(e,g.aaData[a]);else x(e);e.aiDisplay=e.aiDisplayMaster.slice();
|
136
|
+
e.oFeatures.bAutoWidth&&ea(e);e.bInitialised=true;i===false&&r(e)})}})(jQuery,window,document);
|
137
|
+
|
138
|
+
jQuery.fn.dataTableExt.oSort['percent-asc'] = function(a,b) {
|
139
|
+
var x = (a == "-") ? 0 : a.replace( /%/, "" );
|
140
|
+
var y = (b == "-") ? 0 : b.replace( /%/, "" );
|
141
|
+
x = parseFloat( x );
|
142
|
+
y = parseFloat( y );
|
143
|
+
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
144
|
+
};
|
145
|
+
|
146
|
+
jQuery.fn.dataTableExt.oSort['percent-desc'] = function(a,b) {
|
147
|
+
var x = (a == "-") ? 0 : a.replace( /%/, "" );
|
148
|
+
var y = (b == "-") ? 0 : b.replace( /%/, "" );
|
149
|
+
x = parseFloat( x );
|
150
|
+
y = parseFloat( y );
|
151
|
+
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
152
|
+
};
|
@@ -0,0 +1,141 @@
|
|
1
|
+
/*
|
2
|
+
* timeago: a jQuery plugin, version: 0.9 (2010-06-21)
|
3
|
+
* @requires jQuery v1.2.3 or later
|
4
|
+
*
|
5
|
+
* Timeago is a jQuery plugin that makes it easy to support automatically
|
6
|
+
* updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
|
7
|
+
*
|
8
|
+
* For usage and examples, visit:
|
9
|
+
* http://timeago.yarp.com/
|
10
|
+
*
|
11
|
+
* Licensed under the MIT:
|
12
|
+
* http://www.opensource.org/licenses/mit-license.php
|
13
|
+
*
|
14
|
+
* Copyright (c) 2008-2010, Ryan McGeary (ryanonjavascript -[at]- mcgeary [*dot*] org)
|
15
|
+
*/
|
16
|
+
(function($) {
|
17
|
+
$.timeago = function(timestamp) {
|
18
|
+
if (timestamp instanceof Date) return inWords(timestamp);
|
19
|
+
else if (typeof timestamp == "string") return inWords($.timeago.parse(timestamp));
|
20
|
+
else return inWords($.timeago.datetime(timestamp));
|
21
|
+
};
|
22
|
+
var $t = $.timeago;
|
23
|
+
|
24
|
+
$.extend($.timeago, {
|
25
|
+
settings: {
|
26
|
+
refreshMillis: 60000,
|
27
|
+
allowFuture: false,
|
28
|
+
strings: {
|
29
|
+
prefixAgo: null,
|
30
|
+
prefixFromNow: null,
|
31
|
+
suffixAgo: "ago",
|
32
|
+
suffixFromNow: "from now",
|
33
|
+
seconds: "less than a minute",
|
34
|
+
minute: "about a minute",
|
35
|
+
minutes: "%d minutes",
|
36
|
+
hour: "about an hour",
|
37
|
+
hours: "about %d hours",
|
38
|
+
day: "a day",
|
39
|
+
days: "%d days",
|
40
|
+
month: "about a month",
|
41
|
+
months: "%d months",
|
42
|
+
year: "about a year",
|
43
|
+
years: "%d years",
|
44
|
+
numbers: []
|
45
|
+
}
|
46
|
+
},
|
47
|
+
inWords: function(distanceMillis) {
|
48
|
+
var $l = this.settings.strings;
|
49
|
+
var prefix = $l.prefixAgo;
|
50
|
+
var suffix = $l.suffixAgo;
|
51
|
+
if (this.settings.allowFuture) {
|
52
|
+
if (distanceMillis < 0) {
|
53
|
+
prefix = $l.prefixFromNow;
|
54
|
+
suffix = $l.suffixFromNow;
|
55
|
+
}
|
56
|
+
distanceMillis = Math.abs(distanceMillis);
|
57
|
+
}
|
58
|
+
|
59
|
+
var seconds = distanceMillis / 1000;
|
60
|
+
var minutes = seconds / 60;
|
61
|
+
var hours = minutes / 60;
|
62
|
+
var days = hours / 24;
|
63
|
+
var years = days / 365;
|
64
|
+
|
65
|
+
function substitute(stringOrFunction, number) {
|
66
|
+
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number) : stringOrFunction;
|
67
|
+
var value = ($l.numbers && $l.numbers[number]) || number;
|
68
|
+
return string.replace(/%d/i, value);
|
69
|
+
}
|
70
|
+
|
71
|
+
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
|
72
|
+
seconds < 90 && substitute($l.minute, 1) ||
|
73
|
+
minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
|
74
|
+
minutes < 90 && substitute($l.hour, 1) ||
|
75
|
+
hours < 24 && substitute($l.hours, Math.round(hours)) ||
|
76
|
+
hours < 48 && substitute($l.day, 1) ||
|
77
|
+
days < 30 && substitute($l.days, Math.floor(days)) ||
|
78
|
+
days < 60 && substitute($l.month, 1) ||
|
79
|
+
days < 365 && substitute($l.months, Math.floor(days / 30)) ||
|
80
|
+
years < 2 && substitute($l.year, 1) ||
|
81
|
+
substitute($l.years, Math.floor(years));
|
82
|
+
|
83
|
+
return $.trim([prefix, words, suffix].join(" "));
|
84
|
+
},
|
85
|
+
parse: function(iso8601) {
|
86
|
+
var s = $.trim(iso8601);
|
87
|
+
s = s.replace(/\.\d\d\d/,""); // remove milliseconds
|
88
|
+
s = s.replace(/-/,"/").replace(/-/,"/");
|
89
|
+
s = s.replace(/T/," ").replace(/Z/," UTC");
|
90
|
+
s = s.replace(/([\+-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
|
91
|
+
return new Date(s);
|
92
|
+
},
|
93
|
+
datetime: function(elem) {
|
94
|
+
// jQuery's `is()` doesn't play well with HTML5 in IE
|
95
|
+
var isTime = $(elem).get(0).tagName.toLowerCase() == "time"; // $(elem).is("time");
|
96
|
+
var iso8601 = isTime ? $(elem).attr("datetime") : $(elem).attr("title");
|
97
|
+
return $t.parse(iso8601);
|
98
|
+
}
|
99
|
+
});
|
100
|
+
|
101
|
+
$.fn.timeago = function() {
|
102
|
+
var self = this;
|
103
|
+
self.each(refresh);
|
104
|
+
|
105
|
+
var $s = $t.settings;
|
106
|
+
if ($s.refreshMillis > 0) {
|
107
|
+
setInterval(function() { self.each(refresh); }, $s.refreshMillis);
|
108
|
+
}
|
109
|
+
return self;
|
110
|
+
};
|
111
|
+
|
112
|
+
function refresh() {
|
113
|
+
var data = prepareData(this);
|
114
|
+
if (!isNaN(data.datetime)) {
|
115
|
+
$(this).text(inWords(data.datetime));
|
116
|
+
}
|
117
|
+
return this;
|
118
|
+
}
|
119
|
+
|
120
|
+
function prepareData(element) {
|
121
|
+
element = $(element);
|
122
|
+
if (!element.data("timeago")) {
|
123
|
+
element.data("timeago", { datetime: $t.datetime(element) });
|
124
|
+
var text = $.trim(element.text());
|
125
|
+
if (text.length > 0) element.attr("title", text);
|
126
|
+
}
|
127
|
+
return element.data("timeago");
|
128
|
+
}
|
129
|
+
|
130
|
+
function inWords(date) {
|
131
|
+
return $t.inWords(distance(date));
|
132
|
+
}
|
133
|
+
|
134
|
+
function distance(date) {
|
135
|
+
return (new Date().getTime() - date.getTime());
|
136
|
+
}
|
137
|
+
|
138
|
+
// fix for IE6 suckage
|
139
|
+
document.createElement("abbr");
|
140
|
+
document.createElement("time");
|
141
|
+
})(jQuery);
|
@@ -0,0 +1,174 @@
|
|
1
|
+
// JQuery URL Parser
|
2
|
+
// Written by Mark Perkins, mark@allmarkedup.com
|
3
|
+
// License: http://unlicense.org/ (i.e. do what you want with it!)
|
4
|
+
|
5
|
+
jQuery.url = function()
|
6
|
+
{
|
7
|
+
var segments = {};
|
8
|
+
|
9
|
+
var parsed = {};
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Options object. Only the URI and strictMode values can be changed via the setters below.
|
13
|
+
*/
|
14
|
+
var options = {
|
15
|
+
|
16
|
+
url : window.location, // default URI is the page in which the script is running
|
17
|
+
|
18
|
+
strictMode: false, // 'loose' parsing by default
|
19
|
+
|
20
|
+
key: ["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"], // keys available to query
|
21
|
+
|
22
|
+
q: {
|
23
|
+
name: "queryKey",
|
24
|
+
parser: /(?:^|&)([^&=]*)=?([^&]*)/g
|
25
|
+
},
|
26
|
+
|
27
|
+
parser: {
|
28
|
+
strict: /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs
|
29
|
+
loose: /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs
|
30
|
+
}
|
31
|
+
|
32
|
+
};
|
33
|
+
|
34
|
+
/**
|
35
|
+
* Deals with the parsing of the URI according to the regex above.
|
36
|
+
* Written by Steven Levithan - see credits at top.
|
37
|
+
*/
|
38
|
+
var parseUri = function()
|
39
|
+
{
|
40
|
+
str = decodeURI( options.url );
|
41
|
+
|
42
|
+
var m = options.parser[ options.strictMode ? "strict" : "loose" ].exec( str );
|
43
|
+
var uri = {};
|
44
|
+
var i = 14;
|
45
|
+
|
46
|
+
while ( i-- ) {
|
47
|
+
uri[ options.key[i] ] = m[i] || "";
|
48
|
+
}
|
49
|
+
|
50
|
+
uri[ options.q.name ] = {};
|
51
|
+
uri[ options.key[12] ].replace( options.q.parser, function ( $0, $1, $2 ) {
|
52
|
+
if ($1) {
|
53
|
+
uri[options.q.name][$1] = $2;
|
54
|
+
}
|
55
|
+
});
|
56
|
+
|
57
|
+
return uri;
|
58
|
+
};
|
59
|
+
|
60
|
+
/**
|
61
|
+
* Returns the value of the passed in key from the parsed URI.
|
62
|
+
*
|
63
|
+
* @param string key The key whose value is required
|
64
|
+
*/
|
65
|
+
var key = function( key )
|
66
|
+
{
|
67
|
+
if ( ! parsed.length )
|
68
|
+
{
|
69
|
+
setUp(); // if the URI has not been parsed yet then do this first...
|
70
|
+
}
|
71
|
+
if ( key == "base" )
|
72
|
+
{
|
73
|
+
if ( parsed.port !== null && parsed.port !== "" )
|
74
|
+
{
|
75
|
+
return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/";
|
76
|
+
}
|
77
|
+
else
|
78
|
+
{
|
79
|
+
return parsed.protocol+"://"+parsed.host+"/";
|
80
|
+
}
|
81
|
+
}
|
82
|
+
|
83
|
+
return ( parsed[key] === "" ) ? null : parsed[key];
|
84
|
+
};
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Returns the value of the required query string parameter.
|
88
|
+
*
|
89
|
+
* @param string item The parameter whose value is required
|
90
|
+
*/
|
91
|
+
var param = function( item )
|
92
|
+
{
|
93
|
+
if ( ! parsed.length )
|
94
|
+
{
|
95
|
+
setUp(); // if the URI has not been parsed yet then do this first...
|
96
|
+
}
|
97
|
+
return ( parsed.queryKey[item] === null ) ? null : parsed.queryKey[item];
|
98
|
+
};
|
99
|
+
|
100
|
+
/**
|
101
|
+
* 'Constructor' (not really!) function.
|
102
|
+
* Called whenever the URI changes to kick off re-parsing of the URI and splitting it up into segments.
|
103
|
+
*/
|
104
|
+
var setUp = function()
|
105
|
+
{
|
106
|
+
parsed = parseUri();
|
107
|
+
|
108
|
+
getSegments();
|
109
|
+
};
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Splits up the body of the URI into segments (i.e. sections delimited by '/')
|
113
|
+
*/
|
114
|
+
var getSegments = function()
|
115
|
+
{
|
116
|
+
var p = parsed.path;
|
117
|
+
segments = []; // clear out segments array
|
118
|
+
segments = parsed.path.length == 1 ? {} : ( p.charAt( p.length - 1 ) == "/" ? p.substring( 1, p.length - 1 ) : path = p.substring( 1 ) ).split("/");
|
119
|
+
};
|
120
|
+
|
121
|
+
return {
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Sets the parsing mode - either strict or loose. Set to loose by default.
|
125
|
+
*
|
126
|
+
* @param string mode The mode to set the parser to. Anything apart from a value of 'strict' will set it to loose!
|
127
|
+
*/
|
128
|
+
setMode : function( mode )
|
129
|
+
{
|
130
|
+
strictMode = mode == "strict" ? true : false;
|
131
|
+
return this;
|
132
|
+
},
|
133
|
+
|
134
|
+
/**
|
135
|
+
* Sets URI to parse if you don't want to to parse the current page's URI.
|
136
|
+
* Calling the function with no value for newUri resets it to the current page's URI.
|
137
|
+
*
|
138
|
+
* @param string newUri The URI to parse.
|
139
|
+
*/
|
140
|
+
setUrl : function( newUri )
|
141
|
+
{
|
142
|
+
options.url = newUri === undefined ? window.location : newUri;
|
143
|
+
setUp();
|
144
|
+
return this;
|
145
|
+
},
|
146
|
+
|
147
|
+
/**
|
148
|
+
* Returns the value of the specified URI segment. Segments are numbered from 1 to the number of segments.
|
149
|
+
* For example the URI http://test.com/about/company/ segment(1) would return 'about'.
|
150
|
+
*
|
151
|
+
* If no integer is passed into the function it returns the number of segments in the URI.
|
152
|
+
*
|
153
|
+
* @param int pos The position of the segment to return. Can be empty.
|
154
|
+
*/
|
155
|
+
segment : function( pos )
|
156
|
+
{
|
157
|
+
if ( ! parsed.length )
|
158
|
+
{
|
159
|
+
setUp(); // if the URI has not been parsed yet then do this first...
|
160
|
+
}
|
161
|
+
if ( pos === undefined )
|
162
|
+
{
|
163
|
+
return segments.length;
|
164
|
+
}
|
165
|
+
return ( segments[pos] === "" || segments[pos] === undefined ) ? null : segments[pos];
|
166
|
+
},
|
167
|
+
|
168
|
+
attr : key, // provides public access to private 'key' function - see above
|
169
|
+
|
170
|
+
param : param // provides public access to private 'param' function - see above
|
171
|
+
|
172
|
+
};
|
173
|
+
|
174
|
+
}();
|
@@ -0,0 +1 @@
|
|
1
|
+
window.base_url='../'
|