diff --git a/.datatables-commit-sync b/.datatables-commit-sync
index 710a839b..9bab81dc 100644
--- a/.datatables-commit-sync
+++ b/.datatables-commit-sync
@@ -1 +1 @@
-7c0b9f5bbea2d554852c903f37639555f6f89e1e
+7eb24c0c1d9d889ca81a809959c912877f4aec60
diff --git a/examples/advanced_init/column_render.html b/examples/advanced_init/column_render.html
index cfa3e7d6..a390bdcd 100644
--- a/examples/advanced_init/column_render.html
+++ b/examples/advanced_init/column_render.html
@@ -658,6 +658,7 @@ $(document).ready(function() {
The Javascript shown below is used to initialise the table shown in this
example:
$(document).ready(function() {
- $('#example').dataTable();
+ $('#example').DataTable();
} );
In addition to the above code, the following Javascript library files are loaded for use in this
@@ -625,6 +625,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/data_sources/ajax.html b/examples/data_sources/ajax.html
index 8f981bd0..cd9c38ca 100644
--- a/examples/data_sources/ajax.html
+++ b/examples/data_sources/ajax.html
@@ -184,6 +184,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/data_sources/dom.html b/examples/data_sources/dom.html
index 78ef99d7..01ecba4d 100644
--- a/examples/data_sources/dom.html
+++ b/examples/data_sources/dom.html
@@ -629,6 +629,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/data_sources/js_array.html b/examples/data_sources/js_array.html
index 1baea23b..2a950b75 100644
--- a/examples/data_sources/js_array.html
+++ b/examples/data_sources/js_array.html
@@ -294,6 +294,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/data_sources/server_side.html b/examples/data_sources/server_side.html
index b2ded4f0..62e06183 100644
--- a/examples/data_sources/server_side.html
+++ b/examples/data_sources/server_side.html
@@ -185,6 +185,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/index.html b/examples/index.html
index 2458922d..3d350d23 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -69,6 +69,7 @@
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/plug-ins/api.html b/examples/plug-ins/api.html
index 861f09ea..55ee0567 100644
--- a/examples/plug-ins/api.html
+++ b/examples/plug-ins/api.html
@@ -680,6 +680,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/plug-ins/dom_sort.html b/examples/plug-ins/dom_sort.html
index 378a2ef6..6f936fbf 100644
--- a/examples/plug-ins/dom_sort.html
+++ b/examples/plug-ins/dom_sort.html
@@ -1783,6 +1783,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/plug-ins/range_filtering.html b/examples/plug-ins/range_filtering.html
index 2234f1d5..8fcd79f5 100644
--- a/examples/plug-ins/range_filtering.html
+++ b/examples/plug-ins/range_filtering.html
@@ -687,6 +687,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/plug-ins/sorting_auto.html b/examples/plug-ins/sorting_auto.html
index f44da1ae..2eeee533 100644
--- a/examples/plug-ins/sorting_auto.html
+++ b/examples/plug-ins/sorting_auto.html
@@ -672,6 +672,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/plug-ins/sorting_manual.html b/examples/plug-ins/sorting_manual.html
index 9baa8ca6..6141b602 100644
--- a/examples/plug-ins/sorting_manual.html
+++ b/examples/plug-ins/sorting_manual.html
@@ -665,6 +665,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/custom_vars.html b/examples/server_side/custom_vars.html
index 8c305544..bcc4072a 100644
--- a/examples/server_side/custom_vars.html
+++ b/examples/server_side/custom_vars.html
@@ -199,6 +199,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/defer_loading.html b/examples/server_side/defer_loading.html
index 1e9de9b3..0909dc1e 100644
--- a/examples/server_side/defer_loading.html
+++ b/examples/server_side/defer_loading.html
@@ -270,6 +270,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/ids.html b/examples/server_side/ids.html
index eaa867e3..14e9884e 100644
--- a/examples/server_side/ids.html
+++ b/examples/server_side/ids.html
@@ -203,6 +203,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/jsonp.html b/examples/server_side/jsonp.html
index 1192b052..cb31b505 100644
--- a/examples/server_side/jsonp.html
+++ b/examples/server_side/jsonp.html
@@ -193,6 +193,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/object_data.html b/examples/server_side/object_data.html
index 3d9b58f7..b7cd93ee 100644
--- a/examples/server_side/object_data.html
+++ b/examples/server_side/object_data.html
@@ -196,6 +196,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/pipeline.html b/examples/server_side/pipeline.html
index a9bfd135..0707a0b5 100644
--- a/examples/server_side/pipeline.html
+++ b/examples/server_side/pipeline.html
@@ -429,6 +429,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/post.html b/examples/server_side/post.html
index dfa1d9cb..fe182009 100644
--- a/examples/server_side/post.html
+++ b/examples/server_side/post.html
@@ -208,6 +208,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/row_details.html b/examples/server_side/row_details.html
index bb308569..c0b074fb 100644
--- a/examples/server_side/row_details.html
+++ b/examples/server_side/row_details.html
@@ -313,6 +313,7 @@ tr.details td.details-control {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/select_rows.html b/examples/server_side/select_rows.html
index 67c62c40..9af94002 100644
--- a/examples/server_side/select_rows.html
+++ b/examples/server_side/select_rows.html
@@ -220,6 +220,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/server_side/simple.html b/examples/server_side/simple.html
index 8156d402..c5c37400 100644
--- a/examples/server_side/simple.html
+++ b/examples/server_side/simple.html
@@ -184,6 +184,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/bootstrap.html b/examples/styling/bootstrap.html
index a9e0b3ef..3c1f49f2 100644
--- a/examples/styling/bootstrap.html
+++ b/examples/styling/bootstrap.html
@@ -639,6 +639,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/cell-border.html b/examples/styling/cell-border.html
index 44ba9ee2..78f22be3 100644
--- a/examples/styling/cell-border.html
+++ b/examples/styling/cell-border.html
@@ -622,6 +622,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/compact.html b/examples/styling/compact.html
index bd2529f9..5d322518 100644
--- a/examples/styling/compact.html
+++ b/examples/styling/compact.html
@@ -622,6 +622,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/display.html b/examples/styling/display.html
index 2784a4c6..74b2f47f 100644
--- a/examples/styling/display.html
+++ b/examples/styling/display.html
@@ -639,6 +639,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/foundation.html b/examples/styling/foundation.html
index 7d343e91..3f321c7d 100644
--- a/examples/styling/foundation.html
+++ b/examples/styling/foundation.html
@@ -638,6 +638,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/hover.html b/examples/styling/hover.html
index 5f452f07..da5ae125 100644
--- a/examples/styling/hover.html
+++ b/examples/styling/hover.html
@@ -622,6 +622,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/jqueryUI.html b/examples/styling/jqueryUI.html
index 25b6cfc1..ee746e7c 100644
--- a/examples/styling/jqueryUI.html
+++ b/examples/styling/jqueryUI.html
@@ -643,6 +643,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/no-classes.html b/examples/styling/no-classes.html
index 5b0a64a6..b6b78667 100644
--- a/examples/styling/no-classes.html
+++ b/examples/styling/no-classes.html
@@ -622,6 +622,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/order-column.html b/examples/styling/order-column.html
index cd6ec82e..4bc71f82 100644
--- a/examples/styling/order-column.html
+++ b/examples/styling/order-column.html
@@ -623,6 +623,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/row-border.html b/examples/styling/row-border.html
index fd78c950..f08c6a12 100644
--- a/examples/styling/row-border.html
+++ b/examples/styling/row-border.html
@@ -622,6 +622,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/examples/styling/stripe.html b/examples/styling/stripe.html
index a796a2d5..c9596237 100644
--- a/examples/styling/stripe.html
+++ b/examples/styling/stripe.html
@@ -621,6 +621,7 @@ $(document).ready(function() {
elements
Complex headers (rowspan /
colspan)
+
Read HTML to data objects
HTML5 data-* attributes
Language file
Setting defaults
diff --git a/media/js/jquery.dataTables.js b/media/js/jquery.dataTables.js
index 2a9c71dc..e548d932 100644
--- a/media/js/jquery.dataTables.js
+++ b/media/js/jquery.dataTables.js
@@ -673,6 +673,12 @@
return _fnSetObjectDataFn( mDataSrc )( rowData, val, meta );
};
+ // Indicate if DataTables should read DOM data as an object or array
+ // Used in _fnGetRowElements
+ if ( typeof mDataSrc !== 'number' ) {
+ oSettings._rowReadObject = true;
+ }
+
/* Feature sorting overrides column specific when off */
if ( !oSettings.oFeatures.bSort )
{
@@ -1498,11 +1504,14 @@
function _fnGetRowElements( settings, row )
{
var
- d = [],
tds = [],
td = row.firstChild,
name, col, o, i=0, contents,
- columns = settings.aoColumns;
+ columns = settings.aoColumns,
+ objectRead = settings._rowReadObject,
+ write;
+
+ var d = objectRead ? {} : [];
var attr = function ( str, data, td ) {
if ( typeof str === 'string' ) {
@@ -1528,10 +1537,23 @@
attr( col.mData.type, o, cell );
attr( col.mData.filter, o, cell );
- d.push( o );
+ write = o;
}
else {
- d.push( contents );
+ write = contents;
+ }
+
+ // Depending on the `data` option for the columns the data can be read
+ // to either an object or an array.
+ if ( objectRead ) {
+ if ( ! col._setter ) {
+ // Cache the setter function
+ col._setter = _fnSetObjectDataFn( col.mData );
+ }
+ col._setter( d, write );
+ }
+ else {
+ d.push( write );
}
i++;
diff --git a/media/js/jquery.dataTables.min.js b/media/js/jquery.dataTables.min.js
index cce7d427..0280a5fb 100644
--- a/media/js/jquery.dataTables.min.js
+++ b/media/js/jquery.dataTables.min.js
@@ -1,156 +1,156 @@
/*! DataTables 1.10.3-dev
* ©2008-2014 SpryMedia Ltd - datatables.net/license
*/
-(function(Aa,O,l){var N=function(h){function T(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&T(a[e])});a._hungarianMap=d}function G(a,b,c){a._hungarianMap||T(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function N(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
+(function(Ba,O,l){var N=function(h){function T(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),d[c]=e,"o"===b[1]&&T(a[e])});a._hungarianMap=d}function G(a,b,c){a._hungarianMap||T(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==l&&(c||b[d]===l))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),G(a[d],b[d],c)):b[d]=b[e]})}function N(a){var b=p.defaults.oLanguage,c=a.sZeroRecords;
!a.sEmptyTable&&(c&&"No data available in table"===b.sEmptyTable)&&D(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(c&&"Loading..."===b.sLoadingRecords)&&D(a,a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&cb(a)}function db(a){w(a,"ordering","bSort");w(a,"orderMulti","bSortMulti");w(a,"orderClasses","bSortClasses");w(a,"orderCellsTop","bSortCellsTop");w(a,"order","aaSorting");w(a,"orderFixed","aaSortingFixed");w(a,"paging","bPaginate");
w(a,"pagingType","sPaginationType");w(a,"pageLength","iDisplayLength");w(a,"searching","bFilter");if(a=a.aoSearchCols)for(var b=0,c=a.length;b
").css({position:"absolute",top:0,left:0,height:1,width:1,overflow:"hidden"}).append(h("
").css({position:"absolute",top:1,left:1,width:100,
-overflow:"scroll"}).append(h('
').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function gb(a,b,c,d,e,f){var g,j=!1;c!==l&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ba(a,b){var c=p.defaults.column,d=a.aoColumns.length,c=h.extend({},p.models.oColumn,c,{nTh:b?b:O.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
+overflow:"scroll"}).append(h('
').css({width:"100%",height:10}))).appendTo("body"),c=b.find(".test");a.bScrollOversize=100===c[0].offsetWidth;a.bScrollbarLeft=1!==c.offset().left;b.remove()}function gb(a,b,c,d,e,f){var g,j=!1;c!==l&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ca(a,b){var c=p.defaults.column,d=a.aoColumns.length,c=h.extend({},p.models.oColumn,c,{nTh:b?b:O.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:
"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},p.models.oSearch,c[d]);fa(a,d,null)}function fa(a,b,c){var b=a.aoColumns[b],d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==l&&null!==c&&(eb(c),G(p.defaults.column,c),c.mDataProp!==l&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&
-!c.sClass&&(c.sClass=c.className),h.extend(b,c),D(b,c,"sWidth","sWidthOrig"),"number"===typeof c.iDataSort&&(b.aDataSort=[c.iDataSort]),D(b,c,"aDataSort"));var g=b.mData,j=U(g),i=b.mRender?U(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b.fnGetData=function(a,b,c){var d=j(a,b,l,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return Ca(g)(a,b,c)};a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));
-a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function V(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Da(a);for(var c=0,d=b.length;co[f])d(m.length+
-o[f],n);else if("string"===typeof o[f]){j=0;for(i=m.length;jb&&a[e]--; -1!=d&&c===l&&a.splice(d,1)}function la(a,b,c,d){var e=a.aoData[b],f;if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=
-ia(a,e).data;else{var g=e.anCells,j;if(g){c=0;for(f=g.length;c ").appendTo(g));b=0;for(c=m.length;btr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(n.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(n.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,n=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,B(a,!1);else if(j){if(!a.bDestroying&&!jb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:n;for(j=j?0:g;j",{"class":e?d[0]:""}).append(h(" ",{valign:"top",colSpan:Z(a),"class":a.oClasses.sRowEmpty}).html(c))[0];u(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ia(a),g,n,i]);u(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],
-Ia(a),g,n,i]);d=h(a.nTBody);d.children().detach();d.append(h(b));u(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function L(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&kb(a);d?ca(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;K(a);a._drawHold=!1}function lb(a){var b=a.oClasses,c=h(a.nTable),c=h("
").insertBefore(c),d=a.oFeatures,e=h("
",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});
-a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,n,m,o,k=0;k ")[0];n=f[k+1];if("'"==n||'"'==n){m="";for(o=2;f[k+o]!=n;)m+=f[k+o],o++;"H"==m?m=b.sJUIHeader:"F"==m&&(m=b.sJUIFooter);-1!=m.indexOf(".")?(n=m.split("."),i.id=n[0].substr(1,n[0].length-1),i.className=n[1]):"#"==m.charAt(0)?i.id=m.substr(1,m.length-1):i.className=m;k+=o}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==
-j&&d.bPaginate&&d.bLengthChange)g=mb(a);else if("f"==j&&d.bFilter)g=nb(a);else if("r"==j&&d.bProcessing)g=ob(a);else if("t"==j)g=pb(a);else if("i"==j&&d.bInfo)g=qb(a);else if("p"==j&&d.bPaginate)g=rb(a);else if(0!==p.ext.feature.length){i=p.ext.feature;o=0;for(n=i.length;o ',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",g):j+g,b=h("
",
-{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h(" ").append(j)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ca(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,K(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===z(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).bind("keyup.DT search.DT input.DT paste.DT cut.DT",g?qa(f,g):f).bind("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",
-c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==O.activeElement&&i.val(e.sSearch)}catch(d){}});return b[0]}function ca(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ea(a);if("ssp"!=z(a)){ub(a,b.sSearch,c,b.bEscapeRegex!==l?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b=b.length)a.aiDisplay=f.slice();else{if(g||c||e.length>b.length||0!==b.indexOf(e)||a.bSorted)a.aiDisplay=f.slice();b=a.aiDisplay;for(c=b.length-1;0<=c;c--)d.test(a.aoData[b[c]]._sFilterRow)||b.splice(c,1)}}function Na(a,b,c,d){a=b?a:Oa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||"",function(a){return'"'===a.charAt(0)?a.match(/^"(.*)"$/)[1]:a}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function Oa(a){return a.replace(Vb,
-"\\$1")}function xb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,m=p.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Ab,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",b+"_info"));return d[0]}
-function Ab(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Bb(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Bb(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,
-c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function sa(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;if(a.bInitialised){lb(a);ib(a);ba(a,a.aoHeader);ba(a,a.aoFooter);B(a,!0);c.bAutoWidth&&Da(a);b=0;for(c=e.length;b",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g ").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).bind("change.DT",function(){Pa(a,h(this).val());K(a)});h(a.nTable).bind("length.dt.DT",function(b,c,d){a===c&&h("select",i).val(d)});return i[0]}function rb(a){var b=a.sPaginationType,c=p.ext.pager[b],d="function"===typeof c,e=function(a){K(a)},b=h("