diff --git a/xCAT-UI/css/jquery.dataTables.css b/xCAT-UI/css/jquery.dataTables.css index 58276f626..651ee43c6 100644 --- a/xCAT-UI/css/jquery.dataTables.css +++ b/xCAT-UI/css/jquery.dataTables.css @@ -1,475 +1,519 @@ -/* - * File: demo_table.css - * CVS: $Id$ - * Description: CSS descriptions for DataTables demo pages - * Author: Allan Jardine - * Created: Tue May 12 06:47:22 BST 2009 - * Modified: $Date$ by $Author$ - * Language: CSS - * Project: DataTables - * - * Copyright 2009 Allan Jardine. All Rights Reserved. - * - * *************************************************************************** - * DESCRIPTION - * - * The styles given here are suitable for the demos that are used with the standard DataTables - * distribution (see www.datatables.net). You will most likely wish to modify these styles to - * meet the layout requirements of your site. - * - * Common issues: - * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is - * no conflict between the two pagination types. If you want to use full_numbers pagination - * ensure that you either have "example_alt_pagination" as a body class name, or better yet, - * modify that selector. - * Note that the path used for Images is relative. All images are by default located in - * ../images/ - relative to this CSS file. - */ - /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables features - */ -.dataTables_wrapper { - position: relative; - min-height: 302px; - clear: both; - _height: 302px; - zoom: 1; /* Feeling sorry for IE */ -} - -.dataTables_processing { - position: absolute; - top: 50%; - left: 50%; - width: 250px; - height: 30px; - margin-left: -125px; - margin-top: -15px; - padding: 14px 0 2px 0; - border: 1px solid #ddd; - text-align: center; - color: #999; - font-size: 14px; - background-color: white; -} - -.dataTables_length { - width: 40%; - float: left; -} - -.dataTables_filter { - width: 50%; - float: right; - text-align: right; -} - -.dataTables_info { - width: 60%; - float: left; -} - -.dataTables_paginate { - width: 44px; * - width: 50px; - float: right; - text-align: right; -} - -/* Pagination nested */ -.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next - { - height: 19px; - width: 19px; - margin-left: 3px; - float: left; -} - -.paginate_disabled_previous { - background-image: url('../images/back_disabled.jpg'); -} - -.paginate_enabled_previous { - background-image: url('../images/back_enabled.jpg'); -} - -.paginate_disabled_next { - background-image: url('../images/forward_disabled.jpg'); -} - -.paginate_enabled_next { - background-image: url('../images/forward_enabled.jpg'); -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables display - */ -table.display { - margin: 0 auto; - width: 100%; - clear: both; -} - -table.display thead th { - padding: 3px 18px 3px 10px; - border-bottom: 1px solid black; - font-weight: bold; - cursor: pointer; * - cursor: hand; -} - -table.display tfoot th { - padding: 3px 10px; - border-top: 1px solid black; - font-weight: bold; -} - -table.display tr.heading2 td { - border-bottom: 1px solid #aaa; -} - -table.display td { - padding: 3px 10px; -} - -table.display td.center { - text-align: center; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables sorting - */ -.sorting_asc { - background: url('../images/sort_asc.png') no-repeat center right; -} - -.sorting_desc { - background: url('../images/sort_desc.png') no-repeat center right; -} - -.sorting { - background: url('../images/sort_both.png') no-repeat center right; -} - -.sorting_asc_disabled { - background: url('../images/sort_asc_disabled.png') no-repeat center - right; -} - -.sorting_desc_disabled { - background: url('../images/sort_desc_disabled.png') no-repeat center - right; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * DataTables row classes - */ -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeA { - background-color: #ddffdd; -} - -table.display tr.even.gradeA { - background-color: #eeffee; -} - -table.display tr.odd.gradeC { - background-color: #ddddff; -} - -table.display tr.even.gradeC { - background-color: #eeeeff; -} - -table.display tr.odd.gradeX { - background-color: #ffdddd; -} - -table.display tr.even.gradeX { - background-color: #ffeeee; -} - -table.display tr.odd.gradeU { - background-color: #ddd; -} - -table.display tr.even.gradeU { - background-color: #eee; -} - -tr.odd { - background-color: #E2E4FF; -} - -tr.even { - background-color: white; -} - -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Misc - */ -.top,.bottom { - padding: 15px; - background-color: #F5F5F5; - border: 1px solid #CCCCCC; -} - -.top .dataTables_info { - float: none; -} - -.clear { - clear: both; -} - -.dataTables_empty { - text-align: center; -} - -tfoot input { - margin: 0.5em 0; - width: 100%; - color: #444; -} - -tfoot input.search_init { - color: #999; -} - -td.group { - background-color: #d1cfd0; - border-bottom: 2px solid #A19B9E; - border-top: 2px solid #A19B9E; -} - -td.details { - background-color: #d1cfd0; - border: 2px solid #A19B9E; -} - -.example_alt_pagination div.dataTables_info { - width: 40%; -} - -.paging_full_numbers { - width: 400px; - height: 22px; - line-height: 22px; -} - -.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active - { - border: 1px solid #aaa; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - padding: 2px 5px; - margin: 0 3px; - cursor: pointer; * - cursor: hand; -} - -.paging_full_numbers span.paginate_button { - background-color: #ddd; -} - -.paging_full_numbers span.paginate_button:hover { - background-color: #ccc; -} - -.paging_full_numbers span.paginate_active { - background-color: #99B3FF; -} - -table.display tr.even.row_selected td { - background-color: #B0BED9; -} - -table.display tr.odd.row_selected td { - background-color: #9FAFD1; -} - -/* - * Sorting classes for columns - */ /* For the standard odd/even */ -tr.odd td.sorting_1 { - background-color: #D3D6FF; -} - -tr.odd td.sorting_2 { - background-color: #DADCFF; -} - -tr.odd td.sorting_3 { - background-color: #E0E2FF; -} - -tr.even td.sorting_1 { - background-color: #EAEBFF; -} - -tr.even td.sorting_2 { - background-color: #F2F3FF; -} - -tr.even td.sorting_3 { - background-color: #F9F9FF; -} - -/* For the Conditional-CSS grading rows */ /* - Colour calculations (based off the main row colours) - Level 1: - dd > c4 - ee > d5 - Level 2: - dd > d1 - ee > e2 - */ -tr.odd.gradeA td.sorting_1 { - background-color: #c4ffc4; -} - -tr.odd.gradeA td.sorting_2 { - background-color: #d1ffd1; -} - -tr.odd.gradeA td.sorting_3 { - background-color: #d1ffd1; -} - -tr.even.gradeA td.sorting_1 { - background-color: #d5ffd5; -} - -tr.even.gradeA td.sorting_2 { - background-color: #e2ffe2; -} - -tr.even.gradeA td.sorting_3 { - background-color: #e2ffe2; -} - -tr.odd.gradeC td.sorting_1 { - background-color: #c4c4ff; -} - -tr.odd.gradeC td.sorting_2 { - background-color: #d1d1ff; -} - -tr.odd.gradeC td.sorting_3 { - background-color: #d1d1ff; -} - -tr.even.gradeC td.sorting_1 { - background-color: #d5d5ff; -} - -tr.even.gradeC td.sorting_2 { - background-color: #e2e2ff; -} - -tr.even.gradeC td.sorting_3 { - background-color: #e2e2ff; -} - -tr.odd.gradeX td.sorting_1 { - background-color: #ffc4c4; -} - -tr.odd.gradeX td.sorting_2 { - background-color: #ffd1d1; -} - -tr.odd.gradeX td.sorting_3 { - background-color: #ffd1d1; -} - -tr.even.gradeX td.sorting_1 { - background-color: #ffd5d5; -} - -tr.even.gradeX td.sorting_2 { - background-color: #ffe2e2; -} - -tr.even.gradeX td.sorting_3 { - background-color: #ffe2e2; -} - -tr.odd.gradeU td.sorting_1 { - background-color: #c4c4c4; -} - -tr.odd.gradeU td.sorting_2 { - background-color: #d1d1d1; -} - -tr.odd.gradeU td.sorting_3 { - background-color: #d1d1d1; -} - -tr.even.gradeU td.sorting_1 { - background-color: #d5d5d5; -} - -tr.even.gradeU td.sorting_2 { - background-color: #e2e2e2; -} - -tr.even.gradeU td.sorting_3 { - background-color: #e2e2e2; -} - -/* - * Row highlighting example - */ -.ex_highlight #example tbody tr.even:hover,#example tbody tr.even td.highlighted - { - background-color: #ECFFB3; -} - -.ex_highlight #example tbody tr.odd:hover,#example tbody tr.odd td.highlighted - { - background-color: #E6FF99; -} - -/* - * KeyTable - */ -table.KeyTable td { - border: 3px solid transparent; -} - -table.KeyTable td.focus { - border: 3px solid #3366FF; -} - -table.display tr.gradeA { - background-color: #eeffee; -} - -table.display tr.gradeC { - background-color: #ddddff; -} - -table.display tr.gradeX { - background-color: #ffdddd; -} - -table.display tr.gradeU { - background-color: #ddd; -} - -div.box { - height: 100px; - padding: 10px; - overflow: auto; - border: 1px solid #8080FF; - background-color: #E5E5FF; +/* + * File: demo_table.css + * CVS: $Id$ + * Description: CSS descriptions for DataTables demo pages + * Author: Allan Jardine + * Created: Tue May 12 06:47:22 BST 2009 + * Modified: $Date$ by $Author$ + * Language: CSS + * Project: DataTables + * + * Copyright 2009 Allan Jardine. All Rights Reserved. + * + * *************************************************************************** + * DESCRIPTION + * + * The styles given here are suitable for the demos that are used with the standard DataTables + * distribution (see www.datatables.net). You will most likely wish to modify these styles to + * meet the layout requirements of your site. + * + * Common issues: + * 'full_numbers' pagination - I use an extra selector on the body tag to ensure that there is + * no conflict between the two pagination types. If you want to use full_numbers pagination + * ensure that you either have "example_alt_pagination" as a body class name, or better yet, + * modify that selector. + * Note that the path used for Images is relative. All images are by default located in + * ../images/ - relative to this CSS file. + */ + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables features + */ +.dataTables_wrapper { + position: relative; + min-height: 302px; + clear: both; + _height: 302px; + zoom: 1; /* Feeling sorry for IE */ +} + +.dataTables_processing { + position: absolute; + top: 50%; + left: 50%; + width: 250px; + height: 30px; + margin-left: -125px; + margin-top: -15px; + padding: 14px 0 2px 0; + border: 1px solid #ddd; + text-align: center; + color: #999; + font-size: 14px; + background-color: white; +} + +.dataTables_length { + width: 40%; + float: left; +} + +.dataTables_filter { + width: 50%; + float: right; + text-align: right; +} + +.dataTables_info { + width: 60%; + float: left; +} + +.dataTables_paginate { + width: 44px; * + width: 50px; + float: right; + text-align: right; +} + +/* Pagination nested */ +.paginate_disabled_previous,.paginate_enabled_previous,.paginate_disabled_next,.paginate_enabled_next + { + height: 19px; + width: 19px; + margin-left: 3px; + float: left; +} + +.paginate_disabled_previous { + background-image: url('../images/back_disabled.jpg'); +} + +.paginate_enabled_previous { + background-image: url('../images/back_enabled.jpg'); +} + +.paginate_disabled_next { + background-image: url('../images/forward_disabled.jpg'); +} + +.paginate_enabled_next { + background-image: url('../images/forward_enabled.jpg'); +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables display + */ +table.display { + margin: 0 auto; + clear: both; + width: 100%; + /* Note Firefox 3.5 and before have a bug with border-collapse + * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) + * border-spacing: 0; is one possible option. Conditional-css.com is + * useful for this kind of thing + * + * Further note IE 6/7 has problems when calculating widths with border width. + * It subtracts one px relative to the other browsers from the first column, and + * adds one to the end... + * + * If you want that effect I'd suggest setting a border-top/left on th/td's and + * then filling in the gaps with other borders. + */ +} + +table.display thead th { + padding: 3px 18px 3px 10px; + border-bottom: 1px solid black; + font-weight: bold; + cursor: pointer; * + cursor: hand; +} + +table.display tfoot th { + padding: 3px 18px 3px 10px; + border-top: 1px solid black; + font-weight: bold; +} + +table.display tr.heading2 td { + border-bottom: 1px solid #aaa; +} + +table.display td { + padding: 3px 10px; +} + +table.display td.center { + text-align: center; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables sorting + */ +.sorting_asc { + background: url('../images/sort_asc.png') no-repeat center right; +} + +.sorting_desc { + background: url('../images/sort_desc.png') no-repeat center right; +} + +.sorting { + background: url('../images/sort_both.png') no-repeat center right; +} + +.sorting_asc_disabled { + background: url('../images/sort_asc_disabled.png') no-repeat center + right; +} + +.sorting_desc_disabled { + background: url('../images/sort_desc_disabled.png') no-repeat center + right; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * DataTables row classes + */ +table.display tr.odd.gradeA { + background-color: #ddffdd; +} + +table.display tr.even.gradeA { + background-color: #eeffee; +} + +table.display tr.odd.gradeC { + background-color: #ddddff; +} + +table.display tr.even.gradeC { + background-color: #eeeeff; +} + +table.display tr.odd.gradeX { + background-color: #ffdddd; +} + +table.display tr.even.gradeX { + background-color: #ffeeee; +} + +table.display tr.odd.gradeU { + background-color: #ddd; +} + +table.display tr.even.gradeU { + background-color: #eee; +} + +tr.odd { + background-color: #E2E4FF; +} + +tr.even { + background-color: white; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Misc + */ +.dataTables_scroll { + clear: both; +} + +.dataTables_scrollBody { * + margin-top: -1px; +} + +.top,.bottom { + padding: 15px; + background-color: #F5F5F5; + border: 1px solid #CCCCCC; +} + +.top .dataTables_info { + float: none; +} + +.clear { + clear: both; +} + +.dataTables_empty { + text-align: center; +} + +tfoot input { + margin: 0.5em 0; + width: 100%; + color: #444; +} + +tfoot input.search_init { + color: #999; +} + +td.group { + background-color: #d1cfd0; + border-bottom: 2px solid #A19B9E; + border-top: 2px solid #A19B9E; +} + +td.details { + background-color: #d1cfd0; + border: 2px solid #A19B9E; +} + +.example_alt_pagination div.dataTables_info { + width: 40%; +} + +.paging_full_numbers { + width: 400px; + height: 22px; + line-height: 22px; +} + +.paging_full_numbers span.paginate_button,.paging_full_numbers span.paginate_active + { + border: 1px solid #aaa; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + padding: 2px 5px; + margin: 0 3px; + cursor: pointer; * + cursor: hand; +} + +.paging_full_numbers span.paginate_button { + background-color: #ddd; +} + +.paging_full_numbers span.paginate_button:hover { + background-color: #ccc; +} + +.paging_full_numbers span.paginate_active { + background-color: #99B3FF; +} + +table.display tr.even.row_selected td { + background-color: #B0BED9; +} + +table.display tr.odd.row_selected td { + background-color: #9FAFD1; +} + +/* + * Sorting classes for columns + */ /* For the standard odd/even */ +tr.odd td.sorting_1 { + background-color: #D3D6FF; +} + +tr.odd td.sorting_2 { + background-color: #DADCFF; +} + +tr.odd td.sorting_3 { + background-color: #E0E2FF; +} + +tr.even td.sorting_1 { + background-color: #EAEBFF; +} + +tr.even td.sorting_2 { + background-color: #F2F3FF; +} + +tr.even td.sorting_3 { + background-color: #F9F9FF; +} + +/* For the Conditional-CSS grading rows */ /* + Colour calculations (based off the main row colours) + Level 1: + dd > c4 + ee > d5 + Level 2: + dd > d1 + ee > e2 + */ +tr.odd.gradeA td.sorting_1 { + background-color: #c4ffc4; +} + +tr.odd.gradeA td.sorting_2 { + background-color: #d1ffd1; +} + +tr.odd.gradeA td.sorting_3 { + background-color: #d1ffd1; +} + +tr.even.gradeA td.sorting_1 { + background-color: #d5ffd5; +} + +tr.even.gradeA td.sorting_2 { + background-color: #e2ffe2; +} + +tr.even.gradeA td.sorting_3 { + background-color: #e2ffe2; +} + +tr.odd.gradeC td.sorting_1 { + background-color: #c4c4ff; +} + +tr.odd.gradeC td.sorting_2 { + background-color: #d1d1ff; +} + +tr.odd.gradeC td.sorting_3 { + background-color: #d1d1ff; +} + +tr.even.gradeC td.sorting_1 { + background-color: #d5d5ff; +} + +tr.even.gradeC td.sorting_2 { + background-color: #e2e2ff; +} + +tr.even.gradeC td.sorting_3 { + background-color: #e2e2ff; +} + +tr.odd.gradeX td.sorting_1 { + background-color: #ffc4c4; +} + +tr.odd.gradeX td.sorting_2 { + background-color: #ffd1d1; +} + +tr.odd.gradeX td.sorting_3 { + background-color: #ffd1d1; +} + +tr.even.gradeX td.sorting_1 { + background-color: #ffd5d5; +} + +tr.even.gradeX td.sorting_2 { + background-color: #ffe2e2; +} + +tr.even.gradeX td.sorting_3 { + background-color: #ffe2e2; +} + +tr.odd.gradeU td.sorting_1 { + background-color: #c4c4c4; +} + +tr.odd.gradeU td.sorting_2 { + background-color: #d1d1d1; +} + +tr.odd.gradeU td.sorting_3 { + background-color: #d1d1d1; +} + +tr.even.gradeU td.sorting_1 { + background-color: #d5d5d5; +} + +tr.even.gradeU td.sorting_2 { + background-color: #e2e2e2; +} + +tr.even.gradeU td.sorting_3 { + background-color: #e2e2e2; +} + +/* + * Row highlighting example + */ +.ex_highlight #example tbody tr.even:hover,#example tbody tr.even td.highlighted + { + background-color: #ECFFB3; +} + +.ex_highlight #example tbody tr.odd:hover,#example tbody tr.odd td.highlighted + { + background-color: #E6FF99; +} + +.ex_highlight_row #example tr.even:hover { + background-color: #ECFFB3; +} + +.ex_highlight_row #example tr.even:hover td.sorting_1 { + background-color: #DDFF75; +} + +.ex_highlight_row #example tr.even:hover td.sorting_2 { + background-color: #E7FF9E; +} + +.ex_highlight_row #example tr.even:hover td.sorting_3 { + background-color: #E2FF89; +} + +.ex_highlight_row #example tr.odd:hover { + background-color: #E6FF99; +} + +.ex_highlight_row #example tr.odd:hover td.sorting_1 { + background-color: #D6FF5C; +} + +.ex_highlight_row #example tr.odd:hover td.sorting_2 { + background-color: #E0FF84; +} + +.ex_highlight_row #example tr.odd:hover td.sorting_3 { + background-color: #DBFF70; +} + +/* + * KeyTable + */ +table.KeyTable td { + border: 3px solid transparent; +} + +table.KeyTable td.focus { + border: 3px solid #3366FF; +} + +table.display tr.gradeA { + background-color: #eeffee; +} + +table.display tr.gradeC { + background-color: #ddddff; +} + +table.display tr.gradeX { + background-color: #ffdddd; +} + +table.display tr.gradeU { + background-color: #ddd; +} + +div.box { + height: 100px; + padding: 10px; + overflow: auto; + border: 1px solid #8080FF; + background-color: #E5E5FF; } \ No newline at end of file diff --git a/xCAT-UI/js/jquery/jquery.dataTables.min.js b/xCAT-UI/js/jquery/jquery.dataTables.min.js index 027e87d36..3eb5a830f 100644 --- a/xCAT-UI/js/jquery/jquery.dataTables.min.js +++ b/xCAT-UI/js/jquery/jquery.dataTables.min.js @@ -1,6 +1,6 @@ /* * File: jquery.dataTables.min.js - * Version: 1.6.2 + * Version: 1.7.4 * Author: Allan Jardine (www.sprymedia.co.uk) * Info: www.datatables.net * @@ -13,2808 +13,130 @@ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. */ -(function($) { - $.fn.dataTableSettings = []; - var _aoSettings = $.fn.dataTableSettings; - $.fn.dataTableExt = {}; - var _oExt = $.fn.dataTableExt; - _oExt.sVersion = "1.6.2"; - _oExt.iApiIndex = 0; - _oExt.oApi = {}; - _oExt.afnFiltering = []; - _oExt.aoFeatures = []; - _oExt.ofnSearch = {}; - _oExt.afnSortData = []; - _oExt.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", - 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", - sSortableNone : "sorting_disabled", - sSortColumn : "sorting_", - sSortJUIAsc : "", - sSortJUIDesc : "", - sSortJUI : "", - sSortJUIAscAllowed : "", - sSortJUIDescAllowed : "" - }; - _oExt.oJUIClasses = { - sPagePrevEnabled : "fg-button ui-state-default ui-corner-left", - sPagePrevDisabled : "fg-button ui-state-default ui-corner-left ui-state-disabled", - 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", - 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", - 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" - }; - _oExt.oPagination = { - two_button : { - fnInit : function(oSettings, nPaging, fnCallbackDraw) { - var nPrevious, nNext, nPreviousInner, nNextInner; - if (!oSettings.bJUI) { - nPrevious = document.createElement("div"); - nNext = document.createElement("div") - } else { - nPrevious = document.createElement("a"); - nNext = document.createElement("a"); - nNextInner = document.createElement("span"); - nNextInner.className = oSettings.oClasses.sPageJUINext; - nNext.appendChild(nNextInner); - nPreviousInner = document.createElement("span"); - nPreviousInner.className = oSettings.oClasses.sPageJUIPrev; - nPrevious.appendChild(nPreviousInner) - } - nPrevious.className = oSettings.oClasses.sPagePrevDisabled; - nNext.className = oSettings.oClasses.sPageNextDisabled; - nPrevious.title = oSettings.oLanguage.oPaginate.sPrevious; - nNext.title = oSettings.oLanguage.oPaginate.sNext; - nPaging.appendChild(nPrevious); - nPaging.appendChild(nNext); - $(nPrevious).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "previous")) { - fnCallbackDraw(oSettings) - } - }); - $(nNext).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "next")) { - fnCallbackDraw(oSettings) - } - }); - $(nPrevious).bind("selectstart", function() { - return false - }); - $(nNext).bind("selectstart", function() { - return false - }); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.p == "undefined") { - nPaging - .setAttribute("id", oSettings.sTableId + "_paginate"); - nPrevious.setAttribute("id", oSettings.sTableId - + "_previous"); - nNext.setAttribute("id", oSettings.sTableId + "_next") - } - }, - fnUpdate : function(oSettings, fnCallbackDraw) { - if (!oSettings.aanFeatures.p) { - return - - } - var an = oSettings.aanFeatures.p; - for ( var i = 0, iLen = an.length; i < iLen; i++) { - if (an[i].childNodes.length !== 0) { - an[i].childNodes[0].className = (oSettings._iDisplayStart === 0) ? oSettings.oClasses.sPagePrevDisabled - : oSettings.oClasses.sPagePrevEnabled; - an[i].childNodes[1].className = (oSettings - .fnDisplayEnd() == oSettings.fnRecordsDisplay()) ? oSettings.oClasses.sPageNextDisabled - : oSettings.oClasses.sPageNextEnabled - } - } - } - }, - iFullNumbersShowPages : 5, - full_numbers : { - fnInit : function(oSettings, nPaging, fnCallbackDraw) { - var nFirst = document.createElement("span"); - var nPrevious = document.createElement("span"); - var nList = document.createElement("span"); - var nNext = document.createElement("span"); - var nLast = document.createElement("span"); - nFirst.innerHTML = oSettings.oLanguage.oPaginate.sFirst; - nPrevious.innerHTML = oSettings.oLanguage.oPaginate.sPrevious; - nNext.innerHTML = oSettings.oLanguage.oPaginate.sNext; - nLast.innerHTML = oSettings.oLanguage.oPaginate.sLast; - var oClasses = oSettings.oClasses; - nFirst.className = oClasses.sPageButton + " " - + oClasses.sPageFirst; - nPrevious.className = oClasses.sPageButton + " " - + oClasses.sPagePrevious; - nNext.className = oClasses.sPageButton + " " - + oClasses.sPageNext; - nLast.className = oClasses.sPageButton + " " - + oClasses.sPageLast; - nPaging.appendChild(nFirst); - nPaging.appendChild(nPrevious); - nPaging.appendChild(nList); - nPaging.appendChild(nNext); - nPaging.appendChild(nLast); - $(nFirst).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "first")) { - fnCallbackDraw(oSettings) - } - }); - $(nPrevious).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "previous")) { - fnCallbackDraw(oSettings) - } - }); - $(nNext).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "next")) { - fnCallbackDraw(oSettings) - } - }); - $(nLast).click(function() { - if (oSettings.oApi._fnPageChange(oSettings, "last")) { - fnCallbackDraw(oSettings) - } - }); - $("span", nPaging).bind("mousedown", function() { - return false - }).bind("selectstart", function() { - return false - }); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.p == "undefined") { - nPaging - .setAttribute("id", oSettings.sTableId + "_paginate"); - nFirst.setAttribute("id", oSettings.sTableId + "_first"); - nPrevious.setAttribute("id", oSettings.sTableId - + "_previous"); - nNext.setAttribute("id", oSettings.sTableId + "_next"); - nLast.setAttribute("id", oSettings.sTableId + "_last") - } - }, - fnUpdate : function(oSettings, fnCallbackDraw) { - if (!oSettings.aanFeatures.p) { - return - - } - var iPageCount = _oExt.oPagination.iFullNumbersShowPages; - var iPageCountHalf = Math.floor(iPageCount / 2); - var iPages = Math.ceil((oSettings.fnRecordsDisplay()) - / oSettings._iDisplayLength); - var iCurrentPage = Math.ceil(oSettings._iDisplayStart - / oSettings._iDisplayLength) + 1; - var sList = ""; - var iStartButton, iEndButton, i, iLen; - var oClasses = oSettings.oClasses; - if (iPages < iPageCount) { - iStartButton = 1; - iEndButton = iPages - } else { - if (iCurrentPage <= iPageCountHalf) { - iStartButton = 1; - iEndButton = iPageCount - } else { - if (iCurrentPage >= (iPages - iPageCountHalf)) { - iStartButton = iPages - iPageCount + 1; - iEndButton = iPages - } else { - iStartButton = iCurrentPage - - Math.ceil(iPageCount / 2) + 1; - iEndButton = iStartButton + iPageCount - 1 - } - } - } - for (i = iStartButton; i <= iEndButton; i++) { - if (iCurrentPage != i) { - sList += '' - + i + "" - } else { - sList += '' + i + "" - } - } - var an = oSettings.aanFeatures.p; - var anButtons, anStatic, nPaginateList; - var fnClick = function() { - var iTarget = (this.innerHTML * 1) - 1; - oSettings._iDisplayStart = iTarget - * oSettings._iDisplayLength; - fnCallbackDraw(oSettings); - return false - }; - var fnFalse = function() { - return false - }; - for (i = 0, iLen = an.length; i < iLen; i++) { - if (an[i].childNodes.length === 0) { - continue - } - nPaginateList = an[i].childNodes[2]; - nPaginateList.innerHTML = sList; - $("span", nPaginateList).click(fnClick).bind("mousedown", - fnFalse).bind("selectstart", fnFalse); - anButtons = an[i].getElementsByTagName("span"); - anStatic = [ anButtons[0], anButtons[1], - anButtons[anButtons.length - 2], - anButtons[anButtons.length - 1] ]; - $(anStatic).removeClass( - oClasses.sPageButton + " " + oClasses.sPageButtonActive - + " " + oClasses.sPageButtonStaticDisabled); - if (iCurrentPage == 1) { - anStatic[0].className += " " - + oClasses.sPageButtonStaticDisabled; - anStatic[1].className += " " - + oClasses.sPageButtonStaticDisabled - } else { - anStatic[0].className += " " + oClasses.sPageButton; - anStatic[1].className += " " + oClasses.sPageButton - } - if (iPages === 0 || iCurrentPage == iPages - || oSettings._iDisplayLength == -1) { - anStatic[2].className += " " - + oClasses.sPageButtonStaticDisabled; - anStatic[3].className += " " - + oClasses.sPageButtonStaticDisabled - } else { - anStatic[2].className += " " + oClasses.sPageButton; - anStatic[3].className += " " + oClasses.sPageButton - } - } - } - } - }; - _oExt.oSort = { - "string-asc" : function(a, b) { - var x = a.toLowerCase(); - var y = b.toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)) - }, - "string-desc" : function(a, b) { - var x = a.toLowerCase(); - var y = b.toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)) - }, - "html-asc" : function(a, b) { - var x = a.replace(/<.*?>/g, "").toLowerCase(); - var y = b.replace(/<.*?>/g, "").toLowerCase(); - return ((x < y) ? -1 : ((x > y) ? 1 : 0)) - }, - "html-desc" : function(a, b) { - var x = a.replace(/<.*?>/g, "").toLowerCase(); - var y = b.replace(/<.*?>/g, "").toLowerCase(); - return ((x < y) ? 1 : ((x > y) ? -1 : 0)) - }, - "date-asc" : function(a, b) { - var x = Date.parse(a); - var y = Date.parse(b); - if (isNaN(x)) { - x = Date.parse("01/01/1970 00:00:00") - } - if (isNaN(y)) { - y = Date.parse("01/01/1970 00:00:00") - } - return x - y - }, - "date-desc" : function(a, b) { - var x = Date.parse(a); - var y = Date.parse(b); - if (isNaN(x)) { - x = Date.parse("01/01/1970 00:00:00") - } - if (isNaN(y)) { - y = Date.parse("01/01/1970 00:00:00") - } - return y - x - }, - "numeric-asc" : function(a, b) { - var x = a == "-" ? 0 : a; - var y = b == "-" ? 0 : b; - return x - y - }, - "numeric-desc" : function(a, b) { - var x = a == "-" ? 0 : a; - var y = b == "-" ? 0 : b; - return y - x - } - }; - _oExt.aTypes = [ function(sData) { - if (typeof sData == "number") { - return "numeric" - } else { - if (typeof sData.charAt != "function") { - return null - } - } - var sValidFirstChars = "0123456789-"; - var sValidChars = "0123456789."; - var Char; - var bDecimal = false; - Char = sData.charAt(0); - if (sValidFirstChars.indexOf(Char) == -1) { - return null - } - for ( var i = 1; i < sData.length; i++) { - Char = sData.charAt(i); - if (sValidChars.indexOf(Char) == -1) { - return null - } - if (Char == ".") { - if (bDecimal) { - return null - } - bDecimal = true - } - } - return "numeric" - }, function(sData) { - var iParse = Date.parse(sData); - if (iParse !== null && !isNaN(iParse)) { - return "date" - } - return null - } ]; - _oExt._oExternConfig = { - iNextUnique : 0 - }; - $.fn.dataTable = function(oInit) { - function classSettings() { - this.fnRecordsTotal = function() { - if (this.oFeatures.bServerSide) { - return this._iRecordsTotal - } else { - return this.aiDisplayMaster.length - } - }; - this.fnRecordsDisplay = function() { - if (this.oFeatures.bServerSide) { - return this._iRecordsDisplay - } else { - return this.aiDisplay.length - } - }; - this.fnDisplayEnd = function() { - if (this.oFeatures.bServerSide) { - return this._iDisplayStart + this.aiDisplay.length - } else { - return this._iDisplayEnd - } - }; - this.sInstance = null; - this.oFeatures = { - bPaginate : true, - bLengthChange : true, - bFilter : true, - bSort : true, - bInfo : true, - bAutoWidth : true, - bProcessing : false, - bSortClasses : true, - bStateSave : false, - bServerSide : false - }; - this.aanFeatures = []; - this.oLanguage = { - sProcessing : "Processing...", - sLengthMenu : "Show _MENU_ entries", - sZeroRecords : "No matching records found", - sInfo : "Showing _START_ to _END_ of _TOTAL_ entries", - sInfoEmpty : "Showing 0 to 0 of 0 entries", - sInfoFiltered : "(filtered from _MAX_ total entries)", - 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 : "", - bEscapeRegex : true - }; - this.aoPreSearchCols = []; - this.aaSorting = [ [ 0, "asc", 0 ] ]; - this.aaSortingFixed = null; - this.asStripClasses = []; - this.fnRowCallback = null; - this.fnHeaderCallback = null; - this.fnFooterCallback = null; - this.aoDrawCallback = []; - this.fnInitComplete = null; - this.sTableId = ""; - this.nTable = null; - this.iDefaultSortIndex = 0; - this.bInitialised = false; - this.aoOpenRows = []; - this.sDom = "lfrtip"; - this.sPaginationType = "two_button"; - this.iCookieDuration = 60 * 60 * 2; - this.sAjaxSource = null; - this.bAjaxDataGet = true; - this.fnServerData = $.getJSON; - this.iServerDraw = 0; - this._iDisplayLength = 10; - this._iDisplayStart = 0; - this._iDisplayEnd = 10; - this._iRecordsTotal = 0; - this._iRecordsDisplay = 0; - this.bJUI = false; - this.oClasses = _oExt.oStdClasses; - this.bFiltered = false; - this.bSorted = false - } - this.oApi = {}; - this.fnDraw = function(bComplete) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof bComplete != "undefined" && bComplete === false) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } else { - _fnReDraw(oSettings) - } - }; - this.fnFilter = function(sInput, iColumn, bEscapeRegex) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof bEscapeRegex == "undefined") { - bEscapeRegex = true - } - if (typeof iColumn == "undefined" || iColumn === null) { - _fnFilterComplete(oSettings, { - sSearch : sInput, - bEscapeRegex : bEscapeRegex - }, 1) - } else { - oSettings.aoPreSearchCols[iColumn].sSearch = sInput; - oSettings.aoPreSearchCols[iColumn].bEscapeRegex = bEscapeRegex; - _fnFilterComplete(oSettings, oSettings.oPreviousSearch, 1) - } - }; - this.fnSettings = function(nNode) { - return _fnSettingsFromNode(this[_oExt.iApiIndex]) - }; - this.fnVersionCheck = function(sVersion) { - var fnZPad = function(Zpad, count) { - while (Zpad.length < count) { - Zpad += "0" - } - return Zpad - }; - var aThis = _oExt.sVersion.split("."); - var aThat = sVersion.split("."); - var sThis = "", sThat = ""; - for ( var i = 0, iLen = aThat.length; i < iLen; i++) { - sThis += fnZPad(aThis[i], 3); - sThat += fnZPad(aThat[i], 3) - } - return parseInt(sThis, 10) >= parseInt(sThat, 10) - }; - this.fnSort = function(aaSort) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - oSettings.aaSorting = aaSort; - _fnSort(oSettings) - }; - this.fnSortListener = function(nNode, iColumn, fnCallback) { - _fnSortAttachListener(_fnSettingsFromNode(this[_oExt.iApiIndex]), - nNode, iColumn, fnCallback) - }; - this.fnAddData = function(mData, bRedraw) { - if (mData.length === 0) { - return [] - } - var aiReturn = []; - var iTest; - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof mData[0] == "object") { - for ( var i = 0; i < mData.length; i++) { - iTest = _fnAddData(oSettings, mData[i]); - if (iTest == -1) { - return aiReturn - } - aiReturn.push(iTest) - } - } else { - iTest = _fnAddData(oSettings, mData); - if (iTest == -1) { - return aiReturn - } - aiReturn.push(iTest) - } - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - _fnBuildSearchArray(oSettings, 1); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnReDraw(oSettings) - } - return aiReturn - }; - this.fnDeleteRow = function(mTarget, fnCallBack, bNullRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i, iAODataIndex; - iAODataIndex = (typeof mTarget == "object") ? _fnNodeToDataIndex( - oSettings, mTarget) : mTarget; - for (i = 0; i < oSettings.aiDisplayMaster.length; i++) { - if (oSettings.aiDisplayMaster[i] == iAODataIndex) { - oSettings.aiDisplayMaster.splice(i, 1); - break - } - } - for (i = 0; i < oSettings.aiDisplay.length; i++) { - if (oSettings.aiDisplay[i] == iAODataIndex) { - oSettings.aiDisplay.splice(i, 1); - break - } - } - _fnBuildSearchArray(oSettings, 1); - if (typeof fnCallBack == "function") { - fnCallBack.call(this) - } - if (oSettings._iDisplayStart >= oSettings.aiDisplay.length) { - oSettings._iDisplayStart -= oSettings._iDisplayLength; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } - _fnCalculateEnd(oSettings); - _fnDraw(oSettings); - var aData = oSettings.aoData[iAODataIndex]._aData.slice(); - if (typeof bNullRow != "undefined" && bNullRow === true) { - oSettings.aoData[iAODataIndex] = null - } - return aData - }; - this.fnClearTable = function(bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - _fnClearTable(oSettings); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnDraw(oSettings) - } - }; - this.fnOpen = function(nTr, sHtml, sClass) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - this.fnClose(nTr); - var nNewRow = document.createElement("tr"); - var nNewCell = document.createElement("td"); - nNewRow.appendChild(nNewCell); - nNewCell.className = sClass; - nNewCell.colSpan = _fnVisbleColumns(oSettings); - nNewCell.innerHTML = sHtml; - var nTrs = $("tbody tr", oSettings.nTable); - if ($.inArray(nTr, nTrs) != -1) { - $(nNewRow).insertAfter(nTr) - } - if (!oSettings.oFeatures.bServerSide) { - oSettings.aoOpenRows.push( { - nTr : nNewRow, - nParent : nTr - }) - } - return nNewRow - }; - this.fnClose = function(nTr) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - for ( var i = 0; i < oSettings.aoOpenRows.length; i++) { - if (oSettings.aoOpenRows[i].nParent == nTr) { - var nTrParent = oSettings.aoOpenRows[i].nTr.parentNode; - if (nTrParent) { - nTrParent.removeChild(oSettings.aoOpenRows[i].nTr) - } - oSettings.aoOpenRows.splice(i, 1); - return 0 - } - } - return 1 - }; - this.fnGetData = function(mRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof mRow != "undefined") { - var iRow = (typeof mRow == "object") ? _fnNodeToDataIndex( - oSettings, mRow) : mRow; - return oSettings.aoData[iRow]._aData - } - return _fnGetDataMaster(oSettings) - }; - this.fnGetNodes = function(iRow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - if (typeof iRow != "undefined") { - return oSettings.aoData[iRow].nTr - } - return _fnGetTrNodes(oSettings) - }; - this.fnGetPosition = function(nNode) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i; - if (nNode.nodeName == "TR") { - return _fnNodeToDataIndex(oSettings, nNode) - } else { - if (nNode.nodeName == "TD") { - var iDataIndex = _fnNodeToDataIndex(oSettings, - nNode.parentNode); - var iCorrector = 0; - for ( var j = 0; j < oSettings.aoColumns.length; j++) { - if (oSettings.aoColumns[j].bVisible) { - if (oSettings.aoData[iDataIndex].nTr - .getElementsByTagName("td")[j - iCorrector] == nNode) { - return [ iDataIndex, j - iCorrector, j ] - } - } else { - iCorrector++ - } - } - } - } - return null - }; - this.fnUpdate = function(mData, mRow, iColumn, bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var iVisibleColumn; - var sDisplay; - var iRow = (typeof mRow == "object") ? _fnNodeToDataIndex( - oSettings, mRow) : mRow; - if (typeof mData != "object") { - sDisplay = mData; - oSettings.aoData[iRow]._aData[iColumn] = sDisplay; - if (oSettings.aoColumns[iColumn].fnRender !== null) { - sDisplay = oSettings.aoColumns[iColumn].fnRender( { - iDataRow : iRow, - iDataColumn : iColumn, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - if (oSettings.aoColumns[iColumn].bUseRendered) { - oSettings.aoData[iRow]._aData[iColumn] = sDisplay - } - } - iVisibleColumn = _fnColumnIndexToVisible(oSettings, iColumn); - if (iVisibleColumn !== null) { - oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML = sDisplay - } - } else { - if (mData.length != oSettings.aoColumns.length) { - alert("DataTables warning: An array passed to fnUpdate must have the same number of columns as the table in question - in this case " - + oSettings.aoColumns.length); - return 1 - } - for ( var i = 0; i < mData.length; i++) { - sDisplay = mData[i]; - oSettings.aoData[iRow]._aData[i] = sDisplay; - if (oSettings.aoColumns[i].fnRender !== null) { - sDisplay = oSettings.aoColumns[i].fnRender( { - iDataRow : iRow, - iDataColumn : i, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - if (oSettings.aoColumns[i].bUseRendered) { - oSettings.aoData[iRow]._aData[i] = sDisplay - } - } - iVisibleColumn = _fnColumnIndexToVisible(oSettings, i); - if (iVisibleColumn !== null) { - oSettings.aoData[iRow].nTr.getElementsByTagName("td")[iVisibleColumn].innerHTML = sDisplay - } - } - } - _fnBuildSearchArray(oSettings, 1); - if (typeof bRedraw != "undefined" && bRedraw) { - _fnReDraw(oSettings) - } - return 0 - }; - this.fnSetColumnVis = function(iCol, bShow) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - var i, iLen; - var iColumns = oSettings.aoColumns.length; - var nTd, anTds; - if (oSettings.aoColumns[iCol].bVisible == bShow) { - return - - } - var nTrHead = $("thead:eq(0)>tr", oSettings.nTable)[0]; - var nTrFoot = $("tfoot:eq(0)>tr", oSettings.nTable)[0]; - var anTheadTh = []; - var anTfootTh = []; - for (i = 0; i < iColumns; i++) { - anTheadTh.push(oSettings.aoColumns[i].nTh); - anTfootTh.push(oSettings.aoColumns[i].nTf) - } - if (bShow) { - var iInsert = 0; - for (i = 0; i < iCol; i++) { - if (oSettings.aoColumns[i].bVisible) { - iInsert++ - } - } - if (iInsert >= _fnVisbleColumns(oSettings)) { - nTrHead.appendChild(anTheadTh[iCol]); - if (nTrFoot) { - nTrFoot.appendChild(anTfootTh[iCol]) - } - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = oSettings.aoData[i]._anHidden[iCol]; - oSettings.aoData[i].nTr.appendChild(nTd) - } - } else { - var iBefore; - for (i = iCol; i < iColumns; i++) { - iBefore = _fnColumnIndexToVisible(oSettings, i); - if (iBefore !== null) { - break - } - } - nTrHead.insertBefore(anTheadTh[iCol], nTrHead - .getElementsByTagName("th")[iBefore]); - if (nTrFoot) { - nTrFoot.insertBefore(anTfootTh[iCol], nTrFoot - .getElementsByTagName("th")[iBefore]) - } - anTds = _fnGetTdNodes(oSettings); - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = oSettings.aoData[i]._anHidden[iCol]; - oSettings.aoData[i].nTr.insertBefore(nTd, $(">td:eq(" - + iBefore + ")", oSettings.aoData[i].nTr)[0]) - } - } - oSettings.aoColumns[iCol].bVisible = true - } else { - nTrHead.removeChild(anTheadTh[iCol]); - if (nTrFoot) { - nTrFoot.removeChild(anTfootTh[iCol]) - } - anTds = _fnGetTdNodes(oSettings); - for (i = 0, iLen = oSettings.aoData.length; i < iLen; i++) { - nTd = anTds[(i * oSettings.aoColumns.length) + iCol]; - oSettings.aoData[i]._anHidden[iCol] = nTd; - nTd.parentNode.removeChild(nTd) - } - oSettings.aoColumns[iCol].bVisible = false - } - for (i = 0, iLen = oSettings.aoOpenRows.length; i < iLen; i++) { - oSettings.aoOpenRows[i].nTr.colSpan = _fnVisbleColumns(oSettings) - } - _fnSaveState(oSettings) - }; - this.fnPageChange = function(sAction, bRedraw) { - var oSettings = _fnSettingsFromNode(this[_oExt.iApiIndex]); - _fnPageChange(oSettings, sAction); - _fnCalculateEnd(oSettings); - if (typeof bRedraw == "undefined" || bRedraw) { - _fnDraw(oSettings) - } - }; - function _fnExternApiFunc(sFunc) { - return function() { - var aArgs = [ _fnSettingsFromNode(this[_oExt.iApiIndex]) ] - .concat(Array.prototype.slice.call(arguments)); - return _oExt.oApi[sFunc].apply(this, aArgs) - } - } - for ( var sFunc in _oExt.oApi) { - if (sFunc) { - this[sFunc] = _fnExternApiFunc(sFunc) - } - } - function _fnInitalise(oSettings) { - if (oSettings.bInitialised === false) { - setTimeout(function() { - _fnInitalise(oSettings) - }, 200); - return - } - _fnAddOptionsHtml(oSettings); - _fnDrawHead(oSettings); - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings, false); - _fnSortingClasses(oSettings) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - if (oSettings.sAjaxSource !== null - && !oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, true); - oSettings.fnServerData(oSettings.sAjaxSource, null, - function(json) { - for ( var i = 0; i < json.aaData.length; i++) { - _fnAddData(oSettings, json.aaData[i]) - } - oSettings.iInitDisplayStart = oSettings._iDisplayStart; - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster - .slice(); - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - _fnProcessingDisplay(oSettings, false); - if (typeof oSettings.fnInitComplete == "function") { - oSettings.fnInitComplete(oSettings, json) - } - }); - return - } - if (typeof oSettings.fnInitComplete == "function") { - oSettings.fnInitComplete(oSettings) - } - if (!oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, false) - } - } - function _fnLanguageProcess(oSettings, oLanguage, bInit) { - _fnMap(oSettings.oLanguage, oLanguage, "sProcessing"); - _fnMap(oSettings.oLanguage, oLanguage, "sLengthMenu"); - _fnMap(oSettings.oLanguage, oLanguage, "sZeroRecords"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfo"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoEmpty"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoFiltered"); - _fnMap(oSettings.oLanguage, oLanguage, "sInfoPostFix"); - _fnMap(oSettings.oLanguage, oLanguage, "sSearch"); - if (typeof oLanguage.oPaginate != "undefined") { - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sFirst"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sPrevious"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sNext"); - _fnMap(oSettings.oLanguage.oPaginate, oLanguage.oPaginate, - "sLast") - } - if (bInit) { - _fnInitalise(oSettings) - } - } - function _fnAddColumn(oSettings, oOptions, nTh) { - oSettings.aoColumns[oSettings.aoColumns.length++] = { - sType : null, - _bAutoType : true, - bVisible : true, - bSearchable : true, - bSortable : true, - asSorting : [ "asc", "desc" ], - sSortingClass : oSettings.oClasses.sSortable, - sSortingClassJUI : oSettings.oClasses.sSortJUI, - sTitle : nTh ? nTh.innerHTML : "", - sName : "", - sWidth : null, - sClass : null, - fnRender : null, - bUseRendered : true, - iDataSort : oSettings.aoColumns.length - 1, - sSortDataType : "std", - nTh : nTh ? nTh : document.createElement("th"), - nTf : null - }; - var iLength = oSettings.aoColumns.length - 1; - var oCol = oSettings.aoColumns[iLength]; - if (typeof oOptions != "undefined" && oOptions !== null) { - if (typeof oOptions.sType != "undefined") { - oCol.sType = oOptions.sType; - oCol._bAutoType = false - } - _fnMap(oCol, oOptions, "bVisible"); - _fnMap(oCol, oOptions, "bSearchable"); - _fnMap(oCol, oOptions, "bSortable"); - _fnMap(oCol, oOptions, "sTitle"); - _fnMap(oCol, oOptions, "sName"); - _fnMap(oCol, oOptions, "sWidth"); - _fnMap(oCol, oOptions, "sClass"); - _fnMap(oCol, oOptions, "fnRender"); - _fnMap(oCol, oOptions, "bUseRendered"); - _fnMap(oCol, oOptions, "iDataSort"); - _fnMap(oCol, oOptions, "asSorting"); - _fnMap(oCol, oOptions, "sSortDataType") - } - if (!oSettings.oFeatures.bSort) { - oCol.bSortable = false - } - if (!oCol.bSortable - || ($.inArray("asc", oCol.asSorting) == -1 && $.inArray("desc", - oCol.asSorting) == -1)) { - oCol.sSortingClass = oSettings.oClasses.sSortableNone; - oCol.sSortingClassJUI = "" - } else { - if ($.inArray("asc", oCol.asSorting) != -1 - && $.inArray("desc", oCol.asSorting) == -1) { - oCol.sSortingClass = oSettings.oClasses.sSortableAsc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIAscAllowed - } else { - if ($.inArray("asc", oCol.asSorting) == -1 - && $.inArray("desc", oCol.asSorting) != -1) { - oCol.sSortingClass = oSettings.oClasses.sSortableDesc; - oCol.sSortingClassJUI = oSettings.oClasses.sSortJUIDescAllowed - } - } - } - if (typeof oSettings.aoPreSearchCols[iLength] == "undefined" - || oSettings.aoPreSearchCols[iLength] === null) { - oSettings.aoPreSearchCols[iLength] = { - sSearch : "", - bEscapeRegex : true - } - } else { - if (typeof oSettings.aoPreSearchCols[iLength].bEscapeRegex == "undefined") { - oSettings.aoPreSearchCols[iLength].bEscapeRegex = true - } - } - } - function _fnAddData(oSettings, aData) { - if (aData.length != oSettings.aoColumns.length) { - alert("DataTables warning: Added data does not match known number of columns"); - return -1 - } - var iThisIndex = oSettings.aoData.length; - oSettings.aoData.push( { - nTr : document.createElement("tr"), - _iId : oSettings.iNextId++, - _aData : aData.slice(), - _anHidden : [], - _sRowStripe : "" - }); - var nTd, sThisType; - for ( var i = 0; i < aData.length; i++) { - nTd = document.createElement("td"); - if (typeof oSettings.aoColumns[i].fnRender == "function") { - var sRendered = oSettings.aoColumns[i].fnRender( { - iDataRow : iThisIndex, - iDataColumn : i, - aData : aData, - oSettings : oSettings - }); - nTd.innerHTML = sRendered; - if (oSettings.aoColumns[i].bUseRendered) { - oSettings.aoData[iThisIndex]._aData[i] = sRendered - } - } else { - nTd.innerHTML = aData[i] - } - if (oSettings.aoColumns[i].sClass !== null) { - nTd.className = oSettings.aoColumns[i].sClass - } - if (oSettings.aoColumns[i]._bAutoType - && oSettings.aoColumns[i].sType != "string") { - sThisType = _fnDetectType(oSettings.aoData[iThisIndex]._aData[i]); - if (oSettings.aoColumns[i].sType === null) { - oSettings.aoColumns[i].sType = sThisType - } else { - if (oSettings.aoColumns[i].sType != sThisType) { - oSettings.aoColumns[i].sType = "string" - } - } - } - if (oSettings.aoColumns[i].bVisible) { - oSettings.aoData[iThisIndex].nTr.appendChild(nTd) - } else { - oSettings.aoData[iThisIndex]._anHidden[i] = nTd - } - } - oSettings.aiDisplayMaster.push(iThisIndex); - return iThisIndex - } - function _fnGatherData(oSettings) { - var iLoop, i, iLen, j, jLen, jInner, nTds, nTrs, nTd, aLocalData, iThisIndex, iRow, iRows, iColumn, iColumns; - if (oSettings.sAjaxSource === null) { - nTrs = oSettings.nTable.getElementsByTagName("tbody")[0].childNodes; - for (i = 0, iLen = nTrs.length; i < iLen; i++) { - if (nTrs[i].nodeName == "TR") { - iThisIndex = oSettings.aoData.length; - oSettings.aoData.push( { - nTr : nTrs[i], - _iId : oSettings.iNextId++, - _aData : [], - _anHidden : [], - _sRowStripe : "" - }); - oSettings.aiDisplayMaster.push(iThisIndex); - aLocalData = oSettings.aoData[iThisIndex]._aData; - nTds = nTrs[i].childNodes; - jInner = 0; - for (j = 0, jLen = nTds.length; j < jLen; j++) { - if (nTds[j].nodeName == "TD") { - aLocalData[jInner] = nTds[j].innerHTML; - jInner++ - } - } - } - } - } - nTrs = _fnGetTrNodes(oSettings); - nTds = []; - for (i = 0, iLen = nTrs.length; i < iLen; i++) { - for (j = 0, jLen = nTrs[i].childNodes.length; j < jLen; j++) { - nTd = nTrs[i].childNodes[j]; - if (nTd.nodeName == "TD") { - nTds.push(nTd) - } - } - } - if (nTds.length != nTrs.length * oSettings.aoColumns.length) { - alert("DataTables warning: Unexpected number of TD elements. Expected " - + (nTrs.length * oSettings.aoColumns.length) - + " and got " - + nTds.length - + ". DataTables does not support rowspan / colspan in the table body, and there must be one cell for each row/column combination.") - } - for (iColumn = 0, iColumns = oSettings.aoColumns.length; iColumn < iColumns; iColumn++) { - if (oSettings.aoColumns[iColumn].sTitle === null) { - oSettings.aoColumns[iColumn].sTitle = oSettings.aoColumns[iColumn].nTh.innerHTML - } - var bAutoType = oSettings.aoColumns[iColumn]._bAutoType, bRender = typeof oSettings.aoColumns[iColumn].fnRender == "function", bClass = oSettings.aoColumns[iColumn].sClass !== null, bVisible = oSettings.aoColumns[iColumn].bVisible, nCell, sThisType, sRendered; - if (bAutoType || bRender || bClass || !bVisible) { - for (iRow = 0, iRows = oSettings.aoData.length; iRow < iRows; iRow++) { - nCell = nTds[(iRow * iColumns) + iColumn]; - if (bAutoType) { - if (oSettings.aoColumns[iColumn].sType != "string") { - sThisType = _fnDetectType(oSettings.aoData[iRow]._aData[iColumn]); - if (oSettings.aoColumns[iColumn].sType === null) { - oSettings.aoColumns[iColumn].sType = sThisType - } else { - if (oSettings.aoColumns[iColumn].sType != sThisType) { - oSettings.aoColumns[iColumn].sType = "string" - } - } - } - } - if (bRender) { - sRendered = oSettings.aoColumns[iColumn].fnRender( { - iDataRow : iRow, - iDataColumn : iColumn, - aData : oSettings.aoData[iRow]._aData, - oSettings : oSettings - }); - nCell.innerHTML = sRendered; - if (oSettings.aoColumns[iColumn].bUseRendered) { - oSettings.aoData[iRow]._aData[iColumn] = sRendered - } - } - if (bClass) { - nCell.className += " " - + oSettings.aoColumns[iColumn].sClass - } - if (!bVisible) { - oSettings.aoData[iRow]._anHidden[iColumn] = nCell; - nCell.parentNode.removeChild(nCell) - } - } - } - } - } - function _fnDrawHead(oSettings) { - var i, nTh, iLen; - var iThs = oSettings.nTable.getElementsByTagName("thead")[0] - .getElementsByTagName("th").length; - var iCorrector = 0; - if (iThs !== 0) { - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - nTh = oSettings.aoColumns[i].nTh; - if (oSettings.aoColumns[i].bVisible) { - if (oSettings.aoColumns[i].sWidth !== null) { - nTh.style.width = oSettings.aoColumns[i].sWidth - } - if (oSettings.aoColumns[i].sTitle != nTh.innerHTML) { - nTh.innerHTML = oSettings.aoColumns[i].sTitle - } - } else { - nTh.parentNode.removeChild(nTh); - iCorrector++ - } - } - } else { - var nTr = document.createElement("tr"); - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - nTh = oSettings.aoColumns[i].nTh; - nTh.innerHTML = oSettings.aoColumns[i].sTitle; - if (oSettings.aoColumns[i].bVisible) { - if (oSettings.aoColumns[i].sClass !== null) { - nTh.className = oSettings.aoColumns[i].sClass - } - if (oSettings.aoColumns[i].sWidth !== null) { - nTh.style.width = oSettings.aoColumns[i].sWidth - } - nTr.appendChild(nTh) - } - } - $("thead:eq(0)", oSettings.nTable).html("")[0].appendChild(nTr) - } - if (oSettings.bJUI) { - for (i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - oSettings.aoColumns[i].nTh.insertBefore(document - .createElement("span"), - oSettings.aoColumns[i].nTh.firstChild) - } - } - if (oSettings.oFeatures.bSort) { - for (i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bSortable !== false) { - _fnSortAttachListener(oSettings, - oSettings.aoColumns[i].nTh, i) - } else { - $(oSettings.aoColumns[i].nTh).addClass( - oSettings.oClasses.sSortableNone) - } - } - $("thead:eq(0) th", oSettings.nTable).mousedown(function(e) { - if (e.shiftKey) { - this.onselectstart = function() { - return false - }; - return false - } - }) - } - var nTfoot = oSettings.nTable.getElementsByTagName("tfoot"); - if (nTfoot.length !== 0) { - iCorrector = 0; - var nTfs = nTfoot[0].getElementsByTagName("th"); - for (i = 0, iLen = nTfs.length; i < iLen; i++) { - oSettings.aoColumns[i].nTf = nTfs[i - iCorrector]; - if (!oSettings.aoColumns[i].bVisible) { - nTfs[i - iCorrector].parentNode.removeChild(nTfs[i - - iCorrector]); - iCorrector++ - } - } - } - } - function _fnDraw(oSettings) { - var i, iLen; - var anRows = []; - var iRowCount = 0; - var bRowError = false; - var iStrips = oSettings.asStripClasses.length; - var iOpenRows = oSettings.aoOpenRows.length; - if (oSettings.oFeatures.bServerSide && !_fnAjaxUpdate(oSettings)) { - return - } - if (typeof oSettings.iInitDisplayStart != "undefined" - && oSettings.iInitDisplayStart != -1) { - oSettings._iDisplayStart = (oSettings.iInitDisplayStart >= oSettings - .fnRecordsDisplay()) ? 0 : oSettings.iInitDisplayStart; - oSettings.iInitDisplayStart = -1; - _fnCalculateEnd(oSettings) - } - if (oSettings.aiDisplay.length !== 0) { - var iStart = oSettings._iDisplayStart; - var iEnd = oSettings._iDisplayEnd; - if (oSettings.oFeatures.bServerSide) { - iStart = 0; - iEnd = oSettings.aoData.length - } - for ( var j = iStart; j < iEnd; j++) { - var aoData = oSettings.aoData[oSettings.aiDisplay[j]]; - var nRow = aoData.nTr; - if (iStrips !== 0) { - var sStrip = oSettings.asStripClasses[iRowCount - % iStrips]; - if (aoData._sRowStripe != sStrip) { - $(nRow).removeClass(aoData._sRowStripe).addClass( - sStrip); - aoData._sRowStripe = sStrip - } - } - if (typeof oSettings.fnRowCallback == "function") { - nRow = oSettings.fnRowCallback(nRow, - oSettings.aoData[oSettings.aiDisplay[j]]._aData, - iRowCount, j); - if (!nRow && !bRowError) { - alert("DataTables warning: A node was not returned by fnRowCallback"); - bRowError = true - } - } - anRows.push(nRow); - iRowCount++; - if (iOpenRows !== 0) { - for ( var k = 0; k < iOpenRows; k++) { - if (nRow == oSettings.aoOpenRows[k].nParent) { - anRows.push(oSettings.aoOpenRows[k].nTr) - } - } - } - } - } else { - anRows[0] = document.createElement("tr"); - if (typeof oSettings.asStripClasses[0] != "undefined") { - anRows[0].className = oSettings.asStripClasses[0] - } - var nTd = document.createElement("td"); - nTd.setAttribute("valign", "top"); - nTd.colSpan = oSettings.aoColumns.length; - nTd.className = oSettings.oClasses.sRowEmpty; - nTd.innerHTML = oSettings.oLanguage.sZeroRecords; - anRows[iRowCount].appendChild(nTd) - } - if (typeof oSettings.fnHeaderCallback == "function") { - oSettings.fnHeaderCallback( - $("thead:eq(0)>tr", oSettings.nTable)[0], - _fnGetDataMaster(oSettings), oSettings._iDisplayStart, - oSettings.fnDisplayEnd(), oSettings.aiDisplay) - } - if (typeof oSettings.fnFooterCallback == "function") { - oSettings.fnFooterCallback( - $("tfoot:eq(0)>tr", oSettings.nTable)[0], - _fnGetDataMaster(oSettings), oSettings._iDisplayStart, - oSettings.fnDisplayEnd(), oSettings.aiDisplay) - } - var nBody = oSettings.nTable.getElementsByTagName("tbody"); - if (nBody[0]) { - var nTrs = nBody[0].childNodes; - for (i = nTrs.length - 1; i >= 0; i--) { - nTrs[i].parentNode.removeChild(nTrs[i]) - } - for (i = 0, iLen = anRows.length; i < iLen; i++) { - nBody[0].appendChild(anRows[i]) - } - } - for (i = 0, iLen = oSettings.aoDrawCallback.length; i < iLen; i++) { - oSettings.aoDrawCallback[i].fn(oSettings) - } - oSettings.bSorted = false; - oSettings.bFiltered = false; - if (typeof oSettings._bInitComplete == "undefined") { - oSettings._bInitComplete = true; - if (oSettings.oFeatures.bAutoWidth - && oSettings.nTable.offsetWidth !== 0) { - oSettings.nTable.style.width = oSettings.nTable.offsetWidth - + "px" - } - } - } - function _fnReDraw(oSettings) { - if (oSettings.oFeatures.bSort) { - _fnSort(oSettings, oSettings.oPreviousSearch) - } else { - if (oSettings.oFeatures.bFilter) { - _fnFilterComplete(oSettings, oSettings.oPreviousSearch) - } else { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - } - } - function _fnAjaxUpdate(oSettings) { - if (oSettings.bAjaxDataGet) { - _fnProcessingDisplay(oSettings, true); - var iColumns = oSettings.aoColumns.length; - var aoData = []; - var i; - oSettings.iServerDraw++; - aoData.push( { - name : "sEcho", - value : oSettings.iServerDraw - }); - aoData.push( { - name : "iColumns", - value : iColumns - }); - aoData.push( { - name : "sColumns", - value : _fnColumnOrdering(oSettings) - }); - aoData.push( { - name : "iDisplayStart", - value : oSettings._iDisplayStart - }); - aoData - .push( { - name : "iDisplayLength", - value : oSettings.oFeatures.bPaginate !== false ? oSettings._iDisplayLength - : -1 - }); - if (oSettings.oFeatures.bFilter !== false) { - aoData.push( { - name : "sSearch", - value : oSettings.oPreviousSearch.sSearch - }); - aoData.push( { - name : "bEscapeRegex", - value : oSettings.oPreviousSearch.bEscapeRegex - }); - for (i = 0; i < iColumns; i++) { - aoData.push( { - name : "sSearch_" + i, - value : oSettings.aoPreSearchCols[i].sSearch - }); - aoData.push( { - name : "bEscapeRegex_" + i, - value : oSettings.aoPreSearchCols[i].bEscapeRegex - }); - aoData.push( { - name : "bSearchable_" + i, - value : oSettings.aoColumns[i].bSearchable - }) - } - } - if (oSettings.oFeatures.bSort !== false) { - var iFixed = oSettings.aaSortingFixed !== null ? oSettings.aaSortingFixed.length - : 0; - var iUser = oSettings.aaSorting.length; - aoData.push( { - name : "iSortingCols", - value : iFixed + iUser - }); - for (i = 0; i < iFixed; i++) { - aoData.push( { - name : "iSortCol_" + i, - value : oSettings.aaSortingFixed[i][0] - }); - aoData.push( { - name : "sSortDir_" + i, - value : oSettings.aaSortingFixed[i][1] - }) - } - for (i = 0; i < iUser; i++) { - aoData.push( { - name : "iSortCol_" + (i + iFixed), - value : oSettings.aaSorting[i][0] - }); - aoData.push( { - name : "sSortDir_" + (i + iFixed), - value : oSettings.aaSorting[i][1] - }) - } - for (i = 0; i < iColumns; i++) { - aoData.push( { - name : "bSortable_" + i, - value : oSettings.aoColumns[i].bSortable - }) - } - } - oSettings.fnServerData(oSettings.sAjaxSource, aoData, function( - json) { - _fnAjaxUpdateDraw(oSettings, json) - }); - return false - } else { - return true - } - } - function _fnAjaxUpdateDraw(oSettings, json) { - if (typeof json.sEcho != "undefined") { - if (json.sEcho * 1 < oSettings.iServerDraw) { - return - - } else { - oSettings.iServerDraw = json.sEcho * 1 - } - } - _fnClearTable(oSettings); - oSettings._iRecordsTotal = json.iTotalRecords; - oSettings._iRecordsDisplay = json.iTotalDisplayRecords; - var sOrdering = _fnColumnOrdering(oSettings); - var bReOrder = (typeof json.sColumns != "undefined" - && sOrdering !== "" && json.sColumns != sOrdering); - if (bReOrder) { - var aiIndex = _fnReOrderIndex(oSettings, json.sColumns) - } - for ( var i = 0, iLen = json.aaData.length; i < iLen; i++) { - if (bReOrder) { - var aData = []; - for ( var j = 0, jLen = oSettings.aoColumns.length; j < jLen; j++) { - aData.push(json.aaData[i][aiIndex[j]]) - } - _fnAddData(oSettings, aData) - } else { - _fnAddData(oSettings, json.aaData[i]) - } - } - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - oSettings.bAjaxDataGet = false; - _fnDraw(oSettings); - oSettings.bAjaxDataGet = true; - _fnProcessingDisplay(oSettings, false) - } - function _fnAddOptionsHtml(oSettings) { - var nHolding = document.createElement("div"); - oSettings.nTable.parentNode - .insertBefore(nHolding, oSettings.nTable); - var nWrapper = document.createElement("div"); - nWrapper.className = oSettings.oClasses.sWrapper; - if (oSettings.sTableId !== "") { - nWrapper.setAttribute("id", oSettings.sTableId + "_wrapper") - } - var nInsertNode = nWrapper; - var sDom = oSettings.sDom - .replace("H", - "fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix"); - sDom = sDom - .replace("F", - "fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix"); - var aDom = sDom.split(""); - var nTmp, iPushFeature, cOption, nNewNode, cNext, sClass, j; - for ( var i = 0; i < aDom.length; i++) { - iPushFeature = 0; - cOption = aDom[i]; - if (cOption == "<") { - nNewNode = document.createElement("div"); - cNext = aDom[i + 1]; - if (cNext == "'" || cNext == '"') { - sClass = ""; - j = 2; - while (aDom[i + j] != cNext) { - sClass += aDom[i + j]; - j++ - } - nNewNode.className = sClass; - i += j - } - nInsertNode.appendChild(nNewNode); - nInsertNode = nNewNode - } else { - if (cOption == ">") { - nInsertNode = nInsertNode.parentNode - } else { - if (cOption == "l" && oSettings.oFeatures.bPaginate - && oSettings.oFeatures.bLengthChange) { - nTmp = _fnFeatureHtmlLength(oSettings); - iPushFeature = 1 - } else { - if (cOption == "f" && oSettings.oFeatures.bFilter) { - nTmp = _fnFeatureHtmlFilter(oSettings); - iPushFeature = 1 - } else { - if (cOption == "r" - && oSettings.oFeatures.bProcessing) { - nTmp = _fnFeatureHtmlProcessing(oSettings); - iPushFeature = 1 - } else { - if (cOption == "t") { - nTmp = oSettings.nTable; - iPushFeature = 1 - } else { - if (cOption == "i" - && oSettings.oFeatures.bInfo) { - nTmp = _fnFeatureHtmlInfo(oSettings); - iPushFeature = 1 - } else { - if (cOption == "p" - && oSettings.oFeatures.bPaginate) { - nTmp = _fnFeatureHtmlPaginate(oSettings); - iPushFeature = 1 - } else { - if (_oExt.aoFeatures.length !== 0) { - var aoFeatures = _oExt.aoFeatures; - for ( var k = 0, kLen = aoFeatures.length; k < kLen; k++) { - if (cOption == aoFeatures[k].cFeature) { - nTmp = aoFeatures[k] - .fnInit(oSettings); - if (nTmp) { - iPushFeature = 1 - } - break - } - } - } - } - } - } - } - } - } - } - } - if (iPushFeature == 1) { - if (typeof oSettings.aanFeatures[cOption] != "object") { - oSettings.aanFeatures[cOption] = [] - } - oSettings.aanFeatures[cOption].push(nTmp); - nInsertNode.appendChild(nTmp) - } - } - nHolding.parentNode.replaceChild(nWrapper, nHolding) - } - function _fnFeatureHtmlFilter(oSettings) { - var nFilter = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.f == "undefined") { - nFilter.setAttribute("id", oSettings.sTableId + "_filter") - } - nFilter.className = oSettings.oClasses.sFilter; - var sSpace = oSettings.oLanguage.sSearch === "" ? "" : " "; - nFilter.innerHTML = oSettings.oLanguage.sSearch + sSpace - + ''; - var jqFilter = $("input", nFilter); - jqFilter.val(oSettings.oPreviousSearch.sSearch.replace('"', - """)); - jqFilter.keyup(function(e) { - var n = oSettings.aanFeatures.f; - for ( var i = 0, iLen = n.length; i < iLen; i++) { - if (n[i] != this.parentNode) { - $("input", n[i]).val(this.value) - } - } - _fnFilterComplete(oSettings, { - sSearch : this.value, - bEscapeRegex : oSettings.oPreviousSearch.bEscapeRegex - }) - }); - jqFilter.keypress(function(e) { - if (e.keyCode == 13) { - return false - } - }); - return nFilter - } - function _fnFilterComplete(oSettings, oInput, iForce) { - _fnFilter(oSettings, oInput.sSearch, iForce, oInput.bEscapeRegex); - for ( var i = 0; i < oSettings.aoPreSearchCols.length; i++) { - _fnFilterColumn(oSettings, - oSettings.aoPreSearchCols[i].sSearch, i, - oSettings.aoPreSearchCols[i].bEscapeRegex) - } - if (_oExt.afnFiltering.length !== 0) { - _fnFilterCustom(oSettings) - } - oSettings.bFiltered = true; - oSettings._iDisplayStart = 0; - _fnCalculateEnd(oSettings); - _fnDraw(oSettings); - _fnBuildSearchArray(oSettings, 0) - } - function _fnFilterCustom(oSettings) { - var afnFilters = _oExt.afnFiltering; - for ( var i = 0, iLen = afnFilters.length; i < iLen; i++) { - var iCorrector = 0; - for ( var j = 0, jLen = oSettings.aiDisplay.length; j < jLen; j++) { - var iDisIndex = oSettings.aiDisplay[j - iCorrector]; - if (!afnFilters[i](oSettings, - oSettings.aoData[iDisIndex]._aData, iDisIndex)) { - oSettings.aiDisplay.splice(j - iCorrector, 1); - iCorrector++ - } - } - } - } - function _fnFilterColumn(oSettings, sInput, iColumn, bEscapeRegex) { - if (sInput === "") { - return - - } - var iIndexCorrector = 0; - var sRegexMatch = bEscapeRegex ? _fnEscapeRegex(sInput) : sInput; - var rpSearch = new RegExp(sRegexMatch, "i"); - for ( var i = oSettings.aiDisplay.length - 1; i >= 0; i--) { - var sData = _fnDataToSearch( - oSettings.aoData[oSettings.aiDisplay[i]]._aData[iColumn], - oSettings.aoColumns[iColumn].sType); - if (!rpSearch.test(sData)) { - oSettings.aiDisplay.splice(i, 1); - iIndexCorrector++ - } - } - } - function _fnFilter(oSettings, sInput, iForce, bEscapeRegex) { - var i; - if (typeof iForce == "undefined" || iForce === null) { - iForce = 0 - } - if (_oExt.afnFiltering.length !== 0) { - iForce = 1 - } - var asSearch = bEscapeRegex ? _fnEscapeRegex(sInput).split(" ") - : sInput.split(" "); - var sRegExpString = "^(?=.*?" + asSearch.join(")(?=.*?") + ").*$"; - var rpSearch = new RegExp(sRegExpString, "i"); - if (sInput.length <= 0) { - oSettings.aiDisplay.splice(0, oSettings.aiDisplay.length); - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice() - } else { - if (oSettings.aiDisplay.length == oSettings.aiDisplayMaster.length - || oSettings.oPreviousSearch.sSearch.length > sInput.length - || iForce == 1 - || sInput.indexOf(oSettings.oPreviousSearch.sSearch) !== 0) { - oSettings.aiDisplay.splice(0, oSettings.aiDisplay.length); - _fnBuildSearchArray(oSettings, 1); - for (i = 0; i < oSettings.aiDisplayMaster.length; i++) { - if (rpSearch.test(oSettings.asDataSearch[i])) { - oSettings.aiDisplay - .push(oSettings.aiDisplayMaster[i]) - } - } - } else { - var iIndexCorrector = 0; - for (i = 0; i < oSettings.asDataSearch.length; i++) { - if (!rpSearch.test(oSettings.asDataSearch[i])) { - oSettings.aiDisplay.splice(i - iIndexCorrector, 1); - iIndexCorrector++ - } - } - } - } - oSettings.oPreviousSearch.sSearch = sInput; - oSettings.oPreviousSearch.bEscapeRegex = bEscapeRegex - } - function _fnBuildSearchArray(oSettings, iMaster) { - oSettings.asDataSearch.splice(0, oSettings.asDataSearch.length); - var aArray = (typeof iMaster != "undefined" && iMaster == 1) ? oSettings.aiDisplayMaster - : oSettings.aiDisplay; - for ( var i = 0, iLen = aArray.length; i < iLen; i++) { - oSettings.asDataSearch[i] = ""; - for ( var j = 0, jLen = oSettings.aoColumns.length; j < jLen; j++) { - if (oSettings.aoColumns[j].bSearchable) { - var sData = oSettings.aoData[aArray[i]]._aData[j]; - oSettings.asDataSearch[i] += _fnDataToSearch(sData, - oSettings.aoColumns[j].sType) - + " " - } - } - } - } - function _fnDataToSearch(sData, sType) { - if (typeof _oExt.ofnSearch[sType] == "function") { - return _oExt.ofnSearch[sType](sData) - } else { - if (sType == "html") { - return sData.replace(/\n/g, " ").replace(/<.*?>/g, "") - } else { - if (typeof sData == "string") { - return sData.replace(/\n/g, " ") - } - } - } - return sData - } - function _fnSort(oSettings, bApplyClasses) { - var aaSort = []; - var oSort = _oExt.oSort; - var aoData = oSettings.aoData; - var iDataSort; - var iDataType; - var i, j, jLen; - if (!oSettings.oFeatures.bServerSide - && (oSettings.aaSorting.length !== 0 || oSettings.aaSortingFixed !== null)) { - if (oSettings.aaSortingFixed !== null) { - aaSort = oSettings.aaSortingFixed - .concat(oSettings.aaSorting) - } else { - aaSort = oSettings.aaSorting.slice() - } - for (i = 0; i < aaSort.length; i++) { - var iColumn = aaSort[i][0]; - var sDataType = oSettings.aoColumns[iColumn].sSortDataType; - if (typeof _oExt.afnSortData[sDataType] != "undefined") { - var iCorrector = 0; - var aData = _oExt.afnSortData[sDataType](oSettings, - iColumn); - for (j = 0, jLen = aoData.length; j < jLen; j++) { - if (aoData[j] !== null) { - aoData[j]._aData[iColumn] = aData[iCorrector]; - iCorrector++ - } - } - } - } - if (!window.runtime) { - var fnLocalSorting; - var sDynamicSort = "fnLocalSorting = function(a,b){var iTest;"; - for (i = 0; i < aaSort.length - 1; i++) { - iDataSort = oSettings.aoColumns[aaSort[i][0]].iDataSort; - iDataType = oSettings.aoColumns[iDataSort].sType; - sDynamicSort += "iTest = oSort['" + iDataType + "-" - + aaSort[i][1] + "']( aoData[a]._aData[" - + iDataSort + "], aoData[b]._aData[" + iDataSort - + "] ); if ( iTest === 0 )" - } - iDataSort = oSettings.aoColumns[aaSort[aaSort.length - 1][0]].iDataSort; - iDataType = oSettings.aoColumns[iDataSort].sType; - sDynamicSort += "iTest = oSort['" + iDataType + "-" - + aaSort[aaSort.length - 1][1] - + "']( aoData[a]._aData[" + iDataSort - + "], aoData[b]._aData[" + iDataSort - + "] );if (iTest===0) return oSort['numeric-" - + aaSort[aaSort.length - 1][1] - + "'](a, b); return iTest;}"; - eval(sDynamicSort); - oSettings.aiDisplayMaster.sort(fnLocalSorting) - } else { - var aAirSort = []; - var iLen = aaSort.length; - for (i = 0; i < iLen; i++) { - iDataSort = oSettings.aoColumns[aaSort[i][0]].iDataSort; - aAirSort.push( [ - iDataSort, - oSettings.aoColumns[iDataSort].sType + "-" - + aaSort[i][1] ]) - } - oSettings.aiDisplayMaster.sort(function(a, b) { - var iTest; - for ( var i = 0; i < iLen; i++) { - iTest = oSort[aAirSort[i][1]]( - aoData[a]._aData[aAirSort[i][0]], - aoData[b]._aData[aAirSort[i][0]]); - if (iTest !== 0) { - return iTest - } - } - return 0 - }) - } - } - if (typeof bApplyClasses == "undefined" || bApplyClasses) { - _fnSortingClasses(oSettings) - } - oSettings.bSorted = true; - if (oSettings.oFeatures.bFilter) { - _fnFilterComplete(oSettings, oSettings.oPreviousSearch, 1) - } else { - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - oSettings._iDisplayStart = 0; - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - } - } - function _fnSortAttachListener(oSettings, nNode, iDataIndex, fnCallback) { - $(nNode) - .click( - function(e) { - if (oSettings.aoColumns[iDataIndex].bSortable === false) { - return - - } - var fnInnerSorting = function() { - var iColumn, iNextSort; - if (e.shiftKey) { - var bFound = false; - for ( var i = 0; i < oSettings.aaSorting.length; i++) { - if (oSettings.aaSorting[i][0] == iDataIndex) { - bFound = true; - iColumn = oSettings.aaSorting[i][0]; - iNextSort = oSettings.aaSorting[i][2] + 1; - if (typeof oSettings.aoColumns[iColumn].asSorting[iNextSort] == "undefined") { - oSettings.aaSorting.splice(i, 1) - } else { - oSettings.aaSorting[i][1] = oSettings.aoColumns[iColumn].asSorting[iNextSort]; - oSettings.aaSorting[i][2] = iNextSort - } - break - } - } - if (bFound === false) { - oSettings.aaSorting - .push( [ - iDataIndex, - oSettings.aoColumns[iDataIndex].asSorting[0], - 0 ]) - } - } else { - if (oSettings.aaSorting.length == 1 - && oSettings.aaSorting[0][0] == iDataIndex) { - iColumn = oSettings.aaSorting[0][0]; - iNextSort = oSettings.aaSorting[0][2] + 1; - if (typeof oSettings.aoColumns[iColumn].asSorting[iNextSort] == "undefined") { - iNextSort = 0 - } - oSettings.aaSorting[0][1] = oSettings.aoColumns[iColumn].asSorting[iNextSort]; - oSettings.aaSorting[0][2] = iNextSort - } else { - oSettings.aaSorting.splice(0, - oSettings.aaSorting.length); - oSettings.aaSorting - .push( [ - iDataIndex, - oSettings.aoColumns[iDataIndex].asSorting[0], - 0 ]) - } - } - _fnSort(oSettings) - }; - if (!oSettings.oFeatures.bProcessing) { - fnInnerSorting() - } else { - _fnProcessingDisplay(oSettings, true); - setTimeout(function() { - fnInnerSorting(); - if (!oSettings.oFeatures.bServerSide) { - _fnProcessingDisplay(oSettings, false) - } - }, 0) - } - if (typeof fnCallback == "function") { - fnCallback(oSettings) - } - }) - } - function _fnSortingClasses(oSettings) { - var i, iLen, j, jLen, iFound; - var aaSort, sClass; - var iColumns = oSettings.aoColumns.length; - var oClasses = oSettings.oClasses; - for (i = 0; i < iColumns; i++) { - if (oSettings.aoColumns[i].bSortable) { - $(oSettings.aoColumns[i].nTh).removeClass( - oClasses.sSortAsc + " " + oClasses.sSortDesc + " " - + oSettings.aoColumns[i].sSortingClass) - } - } - if (oSettings.aaSortingFixed !== null) { - aaSort = oSettings.aaSortingFixed.concat(oSettings.aaSorting) - } else { - aaSort = oSettings.aaSorting.slice() - } - for (i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bSortable) { - sClass = oSettings.aoColumns[i].sSortingClass; - iFound = -1; - for (j = 0; j < aaSort.length; j++) { - if (aaSort[j][0] == i) { - sClass = (aaSort[j][1] == "asc") ? oClasses.sSortAsc - : oClasses.sSortDesc; - iFound = j; - break - } - } - $(oSettings.aoColumns[i].nTh).addClass(sClass); - if (oSettings.bJUI) { - var jqSpan = $("span", oSettings.aoColumns[i].nTh); - jqSpan.removeClass(oClasses.sSortJUIAsc + " " - + oClasses.sSortJUIDesc + " " + oClasses.sSortJUI - + " " + oClasses.sSortJUIAscAllowed + " " - + oClasses.sSortJUIDescAllowed); - var sSpanClass; - if (iFound == -1) { - sSpanClass = oSettings.aoColumns[i].sSortingClassJUI - } else { - if (aaSort[iFound][1] == "asc") { - sSpanClass = oClasses.sSortJUIAsc - } else { - sSpanClass = oClasses.sSortJUIDesc - } - } - jqSpan.addClass(sSpanClass) - } - } else { - $(oSettings.aoColumns[i].nTh).addClass( - oSettings.aoColumns[i].sSortingClass) - } - } - sClass = oClasses.sSortColumn; - if (oSettings.oFeatures.bSort && oSettings.oFeatures.bSortClasses) { - var nTds = _fnGetTdNodes(oSettings); - if (nTds.length >= iColumns) { - for (i = 0; i < iColumns; i++) { - if (nTds[i].className.indexOf(sClass + "1") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass + "1", - "") - } - } else { - if (nTds[i].className.indexOf(sClass + "2") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass - + "2", "") - } - } else { - if (nTds[i].className.indexOf(sClass + "3") != -1) { - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + i].className = nTds[(iColumns * j) - + i].className.replace(" " + sClass - + "3", "") - } - } - } - } - } - } - var iClass = 1, iTargetCol; - for (i = 0; i < aaSort.length; i++) { - iTargetCol = parseInt(aaSort[i][0], 10); - for (j = 0, jLen = (nTds.length / iColumns); j < jLen; j++) { - nTds[(iColumns * j) + iTargetCol].className += " " - + sClass + iClass - } - if (iClass < 3) { - iClass++ - } - } - } - } - function _fnFeatureHtmlPaginate(oSettings) { - var nPaginate = document.createElement("div"); - nPaginate.className = oSettings.oClasses.sPaging - + oSettings.sPaginationType; - _oExt.oPagination[oSettings.sPaginationType].fnInit(oSettings, - nPaginate, function(oSettings) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - }); - if (typeof oSettings.aanFeatures.p == "undefined") { - oSettings.aoDrawCallback.push( { - fn : function(oSettings) { - _oExt.oPagination[oSettings.sPaginationType].fnUpdate( - oSettings, function(oSettings) { - _fnCalculateEnd(oSettings); - _fnDraw(oSettings) - }) - }, - sName : "pagination" - }) - } - return nPaginate - } - function _fnPageChange(oSettings, sAction) { - var iOldStart = oSettings._iDisplayStart; - if (sAction == "first") { - oSettings._iDisplayStart = 0 - } else { - if (sAction == "previous") { - oSettings._iDisplayStart = oSettings._iDisplayLength >= 0 ? oSettings._iDisplayStart - - oSettings._iDisplayLength - : 0; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } else { - if (sAction == "next") { - if (oSettings._iDisplayLength >= 0) { - if (oSettings._iDisplayStart - + oSettings._iDisplayLength < oSettings - .fnRecordsDisplay()) { - oSettings._iDisplayStart += oSettings._iDisplayLength - } - } else { - oSettings._iDisplayStart = 0 - } - } else { - if (sAction == "last") { - if (oSettings._iDisplayLength >= 0) { - var iPages = parseInt((oSettings - .fnRecordsDisplay() - 1) - / oSettings._iDisplayLength, 10) + 1; - oSettings._iDisplayStart = (iPages - 1) - * oSettings._iDisplayLength - } else { - oSettings._iDisplayStart = 0 - } - } else { - alert("DataTables warning: unknown paging action: " - + sAction) - } - } - } - } - return iOldStart != oSettings._iDisplayStart - } - function _fnFeatureHtmlInfo(oSettings) { - var nInfo = document.createElement("div"); - nInfo.className = oSettings.oClasses.sInfo; - if (typeof oSettings.aanFeatures.i == "undefined") { - oSettings.aoDrawCallback.push( { - fn : _fnUpdateInfo, - sName : "information" - }); - if (oSettings.sTableId !== "") { - nInfo.setAttribute("id", oSettings.sTableId + "_info") - } - } - return nInfo - } - function _fnUpdateInfo(oSettings) { - if (!oSettings.oFeatures.bInfo - || oSettings.aanFeatures.i.length === 0) { - return - - } - var nFirst = oSettings.aanFeatures.i[0]; - if (oSettings.fnRecordsDisplay() === 0 - && oSettings.fnRecordsDisplay() == oSettings.fnRecordsTotal()) { - nFirst.innerHTML = oSettings.oLanguage.sInfoEmpty - + oSettings.oLanguage.sInfoPostFix - } else { - if (oSettings.fnRecordsDisplay() === 0) { - nFirst.innerHTML = oSettings.oLanguage.sInfoEmpty - + " " - + oSettings.oLanguage.sInfoFiltered.replace("_MAX_", - oSettings.fnRecordsTotal()) - + oSettings.oLanguage.sInfoPostFix - } else { - if (oSettings.fnRecordsDisplay() == oSettings - .fnRecordsTotal()) { - nFirst.innerHTML = oSettings.oLanguage.sInfo.replace( - "_START_", oSettings._iDisplayStart + 1).replace( - "_END_", oSettings.fnDisplayEnd()).replace( - "_TOTAL_", oSettings.fnRecordsDisplay()) - + oSettings.oLanguage.sInfoPostFix - } else { - nFirst.innerHTML = oSettings.oLanguage.sInfo.replace( - "_START_", oSettings._iDisplayStart + 1).replace( - "_END_", oSettings.fnDisplayEnd()).replace( - "_TOTAL_", oSettings.fnRecordsDisplay()) - + " " - + oSettings.oLanguage.sInfoFiltered.replace( - "_MAX_", oSettings.fnRecordsTotal()) - + oSettings.oLanguage.sInfoPostFix - } - } - } - var n = oSettings.aanFeatures.i; - if (n.length > 1) { - var sInfo = nFirst.innerHTML; - for ( var i = 1, iLen = n.length; i < iLen; i++) { - n[i].innerHTML = sInfo - } - } - } - function _fnFeatureHtmlLength(oSettings) { - var sName = (oSettings.sTableId === "") ? "" - : 'name="' + oSettings.sTableId + '_length"'; - var sStdMenu = ''; - var nLength = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.l == "undefined") { - nLength.setAttribute("id", oSettings.sTableId + "_length") - } - nLength.className = oSettings.oClasses.sLength; - nLength.innerHTML = oSettings.oLanguage.sLengthMenu.replace( - "_MENU_", sStdMenu); - $('select option[value="' + oSettings._iDisplayLength + '"]', - nLength).attr("selected", true); - $("select", nLength).change( - function(e) { - var iVal = $(this).val(); - var n = oSettings.aanFeatures.l; - for ( var i = 0, iLen = n.length; i < iLen; i++) { - if (n[i] != this.parentNode) { - $("select", n[i]).val(iVal) - } - } - oSettings._iDisplayLength = parseInt(iVal, 10); - _fnCalculateEnd(oSettings); - if (oSettings._iDisplayEnd == oSettings.aiDisplay.length) { - oSettings._iDisplayStart = oSettings._iDisplayEnd - - oSettings._iDisplayLength; - if (oSettings._iDisplayStart < 0) { - oSettings._iDisplayStart = 0 - } - } - if (oSettings._iDisplayLength == -1) { - oSettings._iDisplayStart = 0 - } - _fnDraw(oSettings) - }); - return nLength - } - function _fnFeatureHtmlProcessing(oSettings) { - var nProcessing = document.createElement("div"); - if (oSettings.sTableId !== "" - && typeof oSettings.aanFeatures.r == "undefined") { - nProcessing.setAttribute("id", oSettings.sTableId - + "_processing") - } - nProcessing.innerHTML = oSettings.oLanguage.sProcessing; - nProcessing.className = oSettings.oClasses.sProcessing; - oSettings.nTable.parentNode.insertBefore(nProcessing, - oSettings.nTable); - return nProcessing - } - function _fnProcessingDisplay(oSettings, bShow) { - if (oSettings.oFeatures.bProcessing) { - var an = oSettings.aanFeatures.r; - for ( var i = 0, iLen = an.length; i < iLen; i++) { - an[i].style.visibility = bShow ? "visible" : "hidden" - } - } - } - function _fnVisibleToColumnIndex(oSettings, iMatch) { - var iColumn = -1; - for ( var i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bVisible === true) { - iColumn++ - } - if (iColumn == iMatch) { - return i - } - } - return null - } - function _fnColumnIndexToVisible(oSettings, iMatch) { - var iVisible = -1; - for ( var i = 0; i < oSettings.aoColumns.length; i++) { - if (oSettings.aoColumns[i].bVisible === true) { - iVisible++ - } - if (i == iMatch) { - return oSettings.aoColumns[i].bVisible === true ? iVisible - : null - } - } - return null - } - function _fnNodeToDataIndex(s, n) { - for ( var i = 0, iLen = s.aoData.length; i < iLen; i++) { - if (s.aoData[i] !== null && s.aoData[i].nTr == n) { - return i - } - } - return null - } - function _fnVisbleColumns(oS) { - var iVis = 0; - for ( var i = 0; i < oS.aoColumns.length; i++) { - if (oS.aoColumns[i].bVisible === true) { - iVis++ - } - } - return iVis - } - function _fnCalculateEnd(oSettings) { - if (oSettings.oFeatures.bPaginate === false) { - oSettings._iDisplayEnd = oSettings.aiDisplay.length - } else { - if (oSettings._iDisplayStart + oSettings._iDisplayLength > oSettings.aiDisplay.length - || oSettings._iDisplayLength == -1) { - oSettings._iDisplayEnd = oSettings.aiDisplay.length - } else { - oSettings._iDisplayEnd = oSettings._iDisplayStart - + oSettings._iDisplayLength - } - } - } - function _fnConvertToWidth(sWidth, nParent) { - if (!sWidth || sWidth === null || sWidth === "") { - return 0 - } - if (typeof nParent == "undefined") { - nParent = document.getElementsByTagName("body")[0] - } - var iWidth; - var nTmp = document.createElement("div"); - nTmp.style.width = sWidth; - nParent.appendChild(nTmp); - iWidth = nTmp.offsetWidth; - nParent.removeChild(nTmp); - return (iWidth) - } - function _fnCalculateColumnWidths(oSettings) { - var iTableWidth = oSettings.nTable.offsetWidth; - var iTotalUserIpSize = 0; - var iTmpWidth; - var iVisibleColumns = 0; - var iColums = oSettings.aoColumns.length; - var i; - var oHeaders = $("thead:eq(0)>th", oSettings.nTable); - for (i = 0; i < iColums; i++) { - if (oSettings.aoColumns[i].bVisible) { - iVisibleColumns++; - if (oSettings.aoColumns[i].sWidth !== null) { - iTmpWidth = _fnConvertToWidth( - oSettings.aoColumns[i].sWidth, - oSettings.nTable.parentNode); - iTotalUserIpSize += iTmpWidth; - oSettings.aoColumns[i].sWidth = iTmpWidth + "px" - } - } - } - if (iColums == oHeaders.length && iTotalUserIpSize === 0 - && iVisibleColumns == iColums) { - for (i = 0; i < oSettings.aoColumns.length; i++) { - oSettings.aoColumns[i].sWidth = oHeaders[i].offsetWidth - + "px" - } - } else { - var nCalcTmp = oSettings.nTable.cloneNode(false); - nCalcTmp.setAttribute("id", ""); - var sTableTmp = ''; - var sCalcHead = ""; - var sCalcHtml = ""; - for (i = 0; i < iColums; i++) { - if (oSettings.aoColumns[i].bVisible) { - sCalcHead += ""; - if (oSettings.aoColumns[i].sWidth !== null) { - var sWidth = ""; - if (oSettings.aoColumns[i].sWidth !== null) { - sWidth = ' style="width:' + oSettings.aoColumns[i].sWidth + ';"' - } - sCalcHtml += "' + fnGetMaxLenString(oSettings, i) - + "" - } else { - sCalcHtml += '" - } - } - } - sCalcHead += ""; - sCalcHtml += ""; - nCalcTmp = $(sTableTmp + sCalcHead + sCalcHtml + "
" + oSettings.aoColumns[i].sTitle - + "' - + fnGetMaxLenString(oSettings, i) + "
")[0]; - nCalcTmp.style.width = iTableWidth + "px"; - nCalcTmp.style.visibility = "hidden"; - nCalcTmp.style.position = "absolute"; - oSettings.nTable.parentNode.appendChild(nCalcTmp); - var oNodes = $("tr:eq(1)>td", nCalcTmp); - var iIndex; - for (i = 0; i < oNodes.length; i++) { - iIndex = oNodes[i].getAttribute("tag_index"); - var iContentWidth = $("td", nCalcTmp).eq(i).width(); - var iSetWidth = oSettings.aoColumns[i].sWidth ? oSettings.aoColumns[i].sWidth - .slice(0, -2) - : 0; - oSettings.aoColumns[iIndex].sWidth = Math.max( - iContentWidth, iSetWidth) - + "px" - } - oSettings.nTable.parentNode.removeChild(nCalcTmp) - } - } - function fnGetMaxLenString(oSettings, iCol) { - var iMax = 0; - var iMaxIndex = -1; - for ( var i = 0; i < oSettings.aoData.length; i++) { - if (oSettings.aoData[i]._aData[iCol].length > iMax) { - iMax = oSettings.aoData[i]._aData[iCol].length; - iMaxIndex = i - } - } - if (iMaxIndex >= 0) { - return oSettings.aoData[iMaxIndex]._aData[iCol] - } - return "" - } - function _fnArrayCmp(aArray1, aArray2) { - if (aArray1.length != aArray2.length) { - return 1 - } - for ( var i = 0; i < aArray1.length; i++) { - if (aArray1[i] != aArray2[i]) { - return 2 - } - } - return 0 - } - function _fnDetectType(sData) { - var aTypes = _oExt.aTypes; - var iLen = aTypes.length; - for ( var i = 0; i < iLen; i++) { - var sType = aTypes[i](sData); - if (sType !== null) { - return sType - } - } - return "string" - } - function _fnSettingsFromNode(nTable) { - for ( var i = 0; i < _aoSettings.length; i++) { - if (_aoSettings[i].nTable == nTable) { - return _aoSettings[i] - } - } - return null - } - function _fnGetDataMaster(oSettings) { - var aData = []; - var iLen = oSettings.aoData.length; - for ( var i = 0; i < iLen; i++) { - if (oSettings.aoData[i] === null) { - aData.push(null) - } else { - aData.push(oSettings.aoData[i]._aData) - } - } - return aData - } - function _fnGetTrNodes(oSettings) { - var aNodes = []; - var iLen = oSettings.aoData.length; - for ( var i = 0; i < iLen; i++) { - if (oSettings.aoData[i] === null) { - aNodes.push(null) - } else { - aNodes.push(oSettings.aoData[i].nTr) - } - } - return aNodes - } - function _fnGetTdNodes(oSettings) { - var nTrs = _fnGetTrNodes(oSettings); - var nTds = [], nTd; - var anReturn = []; - var iCorrector; - var iRow, iRows, iColumn, iColumns; - for (iRow = 0, iRows = nTrs.length; iRow < iRows; iRow++) { - nTds = []; - for (iColumn = 0, iColumns = nTrs[iRow].childNodes.length; iColumn < iColumns; iColumn++) { - nTd = nTrs[iRow].childNodes[iColumn]; - if (nTd.nodeName == "TD") { - nTds.push(nTd) - } - } - iCorrector = 0; - for (iColumn = 0, iColumns = oSettings.aoColumns.length; iColumn < iColumns; iColumn++) { - if (oSettings.aoColumns[iColumn].bVisible) { - anReturn.push(nTds[iColumn - iCorrector]) - } else { - anReturn - .push(oSettings.aoData[iRow]._anHidden[iColumn]); - iCorrector++ - } - } - } - return anReturn - } - function _fnEscapeRegex(sVal) { - var acEscape = [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", - "{", "}", "\\", "$", "^" ]; - var reReplace = new RegExp("(\\" + acEscape.join("|\\") + ")", "g"); - return sVal.replace(reReplace, "\\$1") - } - function _fnReOrderIndex(oSettings, sColumns) { - var aColumns = sColumns.split(","); - var aiReturn = []; - for ( var i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - for ( var j = 0; j < iLen; j++) { - if (oSettings.aoColumns[i].sName == aColumns[j]) { - aiReturn.push(j); - break - } - } - } - return aiReturn - } - function _fnColumnOrdering(oSettings) { - var sNames = ""; - for ( var i = 0, iLen = oSettings.aoColumns.length; i < iLen; i++) { - sNames += oSettings.aoColumns[i].sName + "," - } - if (sNames.length == iLen) { - return "" - } - return sNames.slice(0, -1) - } - function _fnClearTable(oSettings) { - oSettings.aoData.length = 0; - oSettings.aiDisplayMaster.length = 0; - oSettings.aiDisplay.length = 0; - _fnCalculateEnd(oSettings) - } - function _fnSaveState(oSettings) { - if (!oSettings.oFeatures.bStateSave) { - return - } - var i; - var sValue = "{"; - sValue += '"iStart": ' + oSettings._iDisplayStart + ","; - sValue += '"iEnd": ' + oSettings._iDisplayEnd + ","; - sValue += '"iLength": ' + oSettings._iDisplayLength + ","; - sValue += '"sFilter": "' + oSettings.oPreviousSearch.sSearch - .replace('"', '\\"') + '",'; - sValue += '"sFilterEsc": ' + oSettings.oPreviousSearch.bEscapeRegex - + ","; - sValue += '"aaSorting": [ '; - for (i = 0; i < oSettings.aaSorting.length; i++) { - sValue += "[" + oSettings.aaSorting[i][0] + ",'" - + oSettings.aaSorting[i][1] + "']," - } - sValue = sValue.substring(0, sValue.length - 1); - sValue += "],"; - sValue += '"aaSearchCols": [ '; - for (i = 0; i < oSettings.aoPreSearchCols.length; i++) { - sValue += "['" - + oSettings.aoPreSearchCols[i].sSearch.replace("'", "'") - + "'," + oSettings.aoPreSearchCols[i].bEscapeRegex + "]," - } - sValue = sValue.substring(0, sValue.length - 1); - sValue += "],"; - sValue += '"abVisCols": [ '; - for (i = 0; i < oSettings.aoColumns.length; i++) { - sValue += oSettings.aoColumns[i].bVisible + "," - } - sValue = sValue.substring(0, sValue.length - 1); - sValue += "]"; - sValue += "}"; - _fnCreateCookie("SpryMedia_DataTables_" + oSettings.sInstance, - sValue, oSettings.iCookieDuration) - } - function _fnLoadState(oSettings, oInit) { - if (!oSettings.oFeatures.bStateSave) { - return - - } - var oData; - var sData = _fnReadCookie("SpryMedia_DataTables_" - + oSettings.sInstance); - if (sData !== null && sData !== "") { - try { - if (typeof JSON == "object" - && typeof JSON.parse == "function") { - oData = JSON.parse(sData.replace(/'/g, '"')) - } else { - oData = eval("(" + sData + ")") - } - } catch (e) { - return - } - oSettings._iDisplayStart = oData.iStart; - oSettings.iInitDisplayStart = oData.iStart; - oSettings._iDisplayEnd = oData.iEnd; - oSettings._iDisplayLength = oData.iLength; - oSettings.oPreviousSearch.sSearch = oData.sFilter; - oSettings.aaSorting = oData.aaSorting.slice(); - oSettings.saved_aaSorting = oData.aaSorting.slice(); - if (typeof oData.sFilterEsc != "undefined") { - oSettings.oPreviousSearch.bEscapeRegex = oData.sFilterEsc - } - if (typeof oData.aaSearchCols != "undefined") { - for ( var i = 0; i < oData.aaSearchCols.length; i++) { - oSettings.aoPreSearchCols[i] = { - sSearch : oData.aaSearchCols[i][0], - bEscapeRegex : oData.aaSearchCols[i][1] - } - } - } - if (typeof oData.abVisCols != "undefined") { - oInit.saved_aoColumns = []; - for (i = 0; i < oData.abVisCols.length; i++) { - oInit.saved_aoColumns[i] = {}; - oInit.saved_aoColumns[i].bVisible = oData.abVisCols[i] - } - } - } - } - function _fnCreateCookie(sName, sValue, iSecs) { - var date = new Date(); - date.setTime(date.getTime() + (iSecs * 1000)); - sName += "_" - + window.location.pathname.replace(/[\/:]/g, "").toLowerCase(); - document.cookie = sName + "=" + encodeURIComponent(sValue) - + "; expires=" + date.toGMTString() + "; path=/" - } - function _fnReadCookie(sName) { - var sNameEQ = sName + "_" - + window.location.pathname.replace(/[\/:]/g, "").toLowerCase() - + "="; - var sCookieContents = document.cookie.split(";"); - for ( var i = 0; i < sCookieContents.length; i++) { - var c = sCookieContents[i]; - while (c.charAt(0) == " ") { - c = c.substring(1, c.length) - } - if (c.indexOf(sNameEQ) === 0) { - return decodeURIComponent(c.substring(sNameEQ.length, - c.length)) - } - } - return null - } - function _fnGetUniqueThs(nThead) { - var nTrs = nThead.getElementsByTagName("tr"); - if (nTrs.length == 1) { - return nTrs[0].getElementsByTagName("th") - } - var aLayout = [], aReturn = []; - var ROWSPAN = 2, COLSPAN = 3, TDELEM = 4; - var i, j, k, iLen, jLen, iColumnShifted; - var fnShiftCol = function(a, i, j) { - while (typeof a[i][j] != "undefined") { - j++ - } - return j - }; - var fnAddRow = function(i) { - if (typeof aLayout[i] == "undefined") { - aLayout[i] = [] - } - }; - for (i = 0, iLen = nTrs.length; i < iLen; i++) { - fnAddRow(i); - var iColumn = 0; - var nTds = []; - for (j = 0, jLen = nTrs[i].childNodes.length; j < jLen; j++) { - if (nTrs[i].childNodes[j].nodeName == "TD" - || nTrs[i].childNodes[j].nodeName == "TH") { - nTds.push(nTrs[i].childNodes[j]) - } - } - for (j = 0, jLen = nTds.length; j < jLen; j++) { - var iColspan = nTds[j].getAttribute("colspan") * 1; - var iRowspan = nTds[j].getAttribute("rowspan") * 1; - if (!iColspan || iColspan === 0 || iColspan === 1) { - iColumnShifted = fnShiftCol(aLayout, i, iColumn); - aLayout[i][iColumnShifted] = (nTds[j].nodeName == "TD") ? TDELEM - : nTds[j]; - if (iRowspan || iRowspan === 0 || iRowspan === 1) { - for (k = 1; k < iRowspan; k++) { - fnAddRow(i + k); - aLayout[i + k][iColumnShifted] = ROWSPAN - } - } - iColumn++ - } else { - iColumnShifted = fnShiftCol(aLayout, i, iColumn); - for (k = 0; k < iColspan; k++) { - aLayout[i][iColumnShifted + k] = COLSPAN - } - iColumn += iColspan - } - } - } - for (i = 0, iLen = aLayout[0].length; i < iLen; i++) { - for (j = 0, jLen = aLayout.length; j < jLen; j++) { - if (typeof aLayout[j][i] == "object") { - aReturn.push(aLayout[j][i]) - } - } - } - return aReturn - } - function _fnMap(oRet, oSrc, sName, sMappedName) { - if (typeof sMappedName == "undefined") { - sMappedName = sName - } - if (typeof oSrc[sName] != "undefined") { - oRet[sMappedName] = oSrc[sName] - } - } - this.oApi._fnInitalise = _fnInitalise; - this.oApi._fnLanguageProcess = _fnLanguageProcess; - this.oApi._fnAddColumn = _fnAddColumn; - this.oApi._fnAddData = _fnAddData; - this.oApi._fnGatherData = _fnGatherData; - this.oApi._fnDrawHead = _fnDrawHead; - this.oApi._fnDraw = _fnDraw; - this.oApi._fnAjaxUpdate = _fnAjaxUpdate; - this.oApi._fnAddOptionsHtml = _fnAddOptionsHtml; - this.oApi._fnFeatureHtmlFilter = _fnFeatureHtmlFilter; - this.oApi._fnFeatureHtmlInfo = _fnFeatureHtmlInfo; - this.oApi._fnFeatureHtmlPaginate = _fnFeatureHtmlPaginate; - this.oApi._fnPageChange = _fnPageChange; - this.oApi._fnFeatureHtmlLength = _fnFeatureHtmlLength; - this.oApi._fnFeatureHtmlProcessing = _fnFeatureHtmlProcessing; - this.oApi._fnProcessingDisplay = _fnProcessingDisplay; - this.oApi._fnFilterComplete = _fnFilterComplete; - this.oApi._fnFilterColumn = _fnFilterColumn; - this.oApi._fnFilter = _fnFilter; - this.oApi._fnSortingClasses = _fnSortingClasses; - this.oApi._fnVisibleToColumnIndex = _fnVisibleToColumnIndex; - this.oApi._fnColumnIndexToVisible = _fnColumnIndexToVisible; - this.oApi._fnNodeToDataIndex = _fnNodeToDataIndex; - this.oApi._fnVisbleColumns = _fnVisbleColumns; - this.oApi._fnBuildSearchArray = _fnBuildSearchArray; - this.oApi._fnDataToSearch = _fnDataToSearch; - this.oApi._fnCalculateEnd = _fnCalculateEnd; - this.oApi._fnConvertToWidth = _fnConvertToWidth; - this.oApi._fnCalculateColumnWidths = _fnCalculateColumnWidths; - this.oApi._fnArrayCmp = _fnArrayCmp; - this.oApi._fnDetectType = _fnDetectType; - this.oApi._fnGetDataMaster = _fnGetDataMaster; - this.oApi._fnGetTrNodes = _fnGetTrNodes; - this.oApi._fnGetTdNodes = _fnGetTdNodes; - this.oApi._fnEscapeRegex = _fnEscapeRegex; - this.oApi._fnReOrderIndex = _fnReOrderIndex; - this.oApi._fnColumnOrdering = _fnColumnOrdering; - this.oApi._fnClearTable = _fnClearTable; - this.oApi._fnSaveState = _fnSaveState; - this.oApi._fnLoadState = _fnLoadState; - this.oApi._fnCreateCookie = _fnCreateCookie; - this.oApi._fnReadCookie = _fnReadCookie; - this.oApi._fnGetUniqueThs = _fnGetUniqueThs; - this.oApi._fnReDraw = _fnReDraw; - var _that = this; - return this - .each(function() { - var i = 0, iLen, j, jLen; - for (i = 0, iLen = _aoSettings.length; i < iLen; i++) { - if (_aoSettings[i].nTable == this) { - alert("DataTables warning: Unable to re-initialise DataTable. Please use the API to make any configuration changes required."); - return _aoSettings[i] - } - } - var oSettings = new classSettings(); - _aoSettings.push(oSettings); - var bInitHandedOff = false; - var bUsePassedData = false; - var sId = this.getAttribute("id"); - if (sId !== null) { - oSettings.sTableId = sId; - oSettings.sInstance = sId - } else { - oSettings.sInstance = _oExt._oExternConfig.iNextUnique++ - } - oSettings.nTable = this; - oSettings.oApi = _that.oApi; - if (typeof oInit != "undefined" && oInit !== null) { - _fnMap(oSettings.oFeatures, oInit, "bPaginate"); - _fnMap(oSettings.oFeatures, oInit, "bLengthChange"); - _fnMap(oSettings.oFeatures, oInit, "bFilter"); - _fnMap(oSettings.oFeatures, oInit, "bSort"); - _fnMap(oSettings.oFeatures, oInit, "bInfo"); - _fnMap(oSettings.oFeatures, oInit, "bProcessing"); - _fnMap(oSettings.oFeatures, oInit, "bAutoWidth"); - _fnMap(oSettings.oFeatures, oInit, "bSortClasses"); - _fnMap(oSettings.oFeatures, oInit, "bServerSide"); - _fnMap(oSettings, oInit, "asStripClasses"); - _fnMap(oSettings, oInit, "fnRowCallback"); - _fnMap(oSettings, oInit, "fnHeaderCallback"); - _fnMap(oSettings, oInit, "fnFooterCallback"); - _fnMap(oSettings, oInit, "fnInitComplete"); - _fnMap(oSettings, oInit, "fnServerData"); - _fnMap(oSettings, oInit, "aaSorting"); - _fnMap(oSettings, oInit, "aaSortingFixed"); - _fnMap(oSettings, oInit, "sPaginationType"); - _fnMap(oSettings, oInit, "sAjaxSource"); - _fnMap(oSettings, oInit, "iCookieDuration"); - _fnMap(oSettings, oInit, "sDom"); - _fnMap(oSettings, oInit, "oSearch", "oPreviousSearch"); - _fnMap(oSettings, oInit, "aoSearchCols", "aoPreSearchCols"); - _fnMap(oSettings, oInit, "iDisplayLength", - "_iDisplayLength"); - _fnMap(oSettings, oInit, "bJQueryUI", "bJUI"); - if (typeof oInit.fnDrawCallback == "function") { - oSettings.aoDrawCallback.push( { - fn : oInit.fnDrawCallback, - sName : "user" - }) - } - if (oSettings.oFeatures.bServerSide - && oSettings.oFeatures.bSort - && oSettings.oFeatures.bSortClasses) { - oSettings.aoDrawCallback.push( { - fn : _fnSortingClasses, - sName : "server_side_sort_classes" - }) - } - if (typeof oInit.bJQueryUI != "undefined" - && oInit.bJQueryUI) { - oSettings.oClasses = _oExt.oJUIClasses; - if (typeof oInit.sDom == "undefined") { - oSettings.sDom = '<"H"lfr>t<"F"ip>' - } - } - if (typeof oInit.iDisplayStart != "undefined" - && typeof oSettings.iInitDisplayStart == "undefined") { - oSettings.iInitDisplayStart = oInit.iDisplayStart; - oSettings._iDisplayStart = oInit.iDisplayStart - } - if (typeof oInit.bStateSave != "undefined") { - oSettings.oFeatures.bStateSave = oInit.bStateSave; - _fnLoadState(oSettings, oInit); - oSettings.aoDrawCallback.push( { - fn : _fnSaveState, - sName : "state_save" - }) - } - if (typeof oInit.aaData != "undefined") { - bUsePassedData = true - } - if (typeof oInit != "undefined" - && typeof oInit.aoData != "undefined") { - oInit.aoColumns = oInit.aoData - } - if (typeof oInit.oLanguage != "undefined") { - if (typeof oInit.oLanguage.sUrl != "undefined" - && oInit.oLanguage.sUrl !== "") { - oSettings.oLanguage.sUrl = oInit.oLanguage.sUrl; - $.getJSON(oSettings.oLanguage.sUrl, null, function( - json) { - _fnLanguageProcess(oSettings, json, true) - }); - bInitHandedOff = true - } else { - _fnLanguageProcess(oSettings, oInit.oLanguage, - false) - } - } - } else { - oInit = {} - } - if (typeof oInit.asStripClasses == "undefined") { - oSettings.asStripClasses.push(oSettings.oClasses.sStripOdd); - oSettings.asStripClasses - .push(oSettings.oClasses.sStripEven) - } - var nThead = this.getElementsByTagName("thead"); - var nThs = nThead.length === 0 ? null - : _fnGetUniqueThs(nThead[0]); - var bUseCols = typeof oInit.aoColumns != "undefined"; - for (i = 0, iLen = bUseCols ? oInit.aoColumns.length - : nThs.length; i < iLen; i++) { - var oCol = bUseCols ? oInit.aoColumns[i] : null; - var nTh = nThs ? nThs[i] : null; - if (typeof oInit.saved_aoColumns != "undefined" - && oInit.saved_aoColumns.length == iLen) { - if (oCol === null) { - oCol = {} - } - oCol.bVisible = oInit.saved_aoColumns[i].bVisible - } - _fnAddColumn(oSettings, oCol, nTh) - } - for (i = 0, iLen = oSettings.aaSorting.length; i < iLen; i++) { - var oColumn = oSettings.aoColumns[oSettings.aaSorting[i][0]]; - if (typeof oSettings.aaSorting[i][2] == "undefined") { - oSettings.aaSorting[i][2] = 0 - } - if (typeof oInit.aaSorting == "undefined" - && typeof oSettings.saved_aaSorting == "undefined") { - oSettings.aaSorting[i][1] = oColumn.asSorting[0] - } - for (j = 0, jLen = oColumn.asSorting.length; j < jLen; j++) { - if (oSettings.aaSorting[i][1] == oColumn.asSorting[j]) { - oSettings.aaSorting[i][2] = j; - break - } - } - } - if (this.getElementsByTagName("thead").length === 0) { - this.appendChild(document.createElement("thead")) - } - if (this.getElementsByTagName("tbody").length === 0) { - this.appendChild(document.createElement("tbody")) - } - if (bUsePassedData) { - for (i = 0; i < oInit.aaData.length; i++) { - _fnAddData(oSettings, oInit.aaData[i]) - } - } else { - _fnGatherData(oSettings) - } - oSettings.aiDisplay = oSettings.aiDisplayMaster.slice(); - if (oSettings.oFeatures.bAutoWidth) { - _fnCalculateColumnWidths(oSettings) - } - oSettings.bInitialised = true; - if (bInitHandedOff === false) { - _fnInitalise(oSettings) - } - }) - } -})(jQuery); \ No newline at end of file +(function(j,X,p){j.fn.dataTableSettings=[];var E=j.fn.dataTableSettings;j.fn.dataTableExt={};var n=j.fn.dataTableExt;n.sVersion="1.7.4";n.sErrMode="alert";n.iApiIndex=0;n.oApi={};n.afnFiltering=[];n.aoFeatures=[];n.ofnSearch={};n.afnSortData=[];n.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", +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", +sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:""};n.oJUIClasses={sPagePrevEnabled:"fg-button ui-button ui-state-default ui-corner-left",sPagePrevDisabled:"fg-button ui-button ui-state-default ui-corner-left ui-state-disabled", +sPageNextEnabled:"fg-button ui-button ui-state-default ui-corner-right",sPageNextDisabled:"fg-button ui-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-button ui-state-default",sPageButtonActive:"fg-button ui-button ui-state-default ui-state-disabled",sPageButtonStaticDisabled:"fg-button ui-button ui-state-default ui-state-disabled",sPageFirst:"first ui-corner-tl ui-corner-bl", +sPagePrevious:"previous",sPageNext:"next",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 ui-buttonset fg-buttonset-multi ui-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",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",sSortJUIWrapper:"DataTables_sort_wrapper",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead ui-state-default",sScrollHeadInner:"dataTables_scrollHeadInner", +sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot ui-state-default",sScrollFootInner:"dataTables_scrollFootInner",sFooterTH:"ui-state-default"};n.oPagination={two_button:{fnInit:function(g,l,r){var s,v,y;if(g.bJUI){s=p.createElement("a");v=p.createElement("a");y=p.createElement("span");y.className=g.oClasses.sPageJUINext;v.appendChild(y);y=p.createElement("span");y.className=g.oClasses.sPageJUIPrev;s.appendChild(y)}else{s=p.createElement("div");v=p.createElement("div")}s.className= +g.oClasses.sPagePrevDisabled;v.className=g.oClasses.sPageNextDisabled;s.title=g.oLanguage.oPaginate.sPrevious;v.title=g.oLanguage.oPaginate.sNext;l.appendChild(s);l.appendChild(v);j(s).click(function(){g.oApi._fnPageChange(g,"previous")&&r(g)});j(v).click(function(){g.oApi._fnPageChange(g,"next")&&r(g)});j(s).bind("selectstart",function(){return false});j(v).bind("selectstart",function(){return false});if(g.sTableId!==""&&typeof g.aanFeatures.p=="undefined"){l.setAttribute("id",g.sTableId+"_paginate"); +s.setAttribute("id",g.sTableId+"_previous");v.setAttribute("id",g.sTableId+"_next")}},fnUpdate:function(g){if(g.aanFeatures.p)for(var l=g.aanFeatures.p,r=0,s=l.length;r=v-s){s=v-r+1;w=v}else{s=y-Math.ceil(r/2)+1;w=s+r-1}for(r=s;r<= +w;r++)D+=y!=r?''+r+"":''+r+"";w=g.aanFeatures.p;var z,C=function(){g._iDisplayStart=(this.innerHTML*1-1)*g._iDisplayLength;l(g);return false},L=function(){return false};r=0;for(s=w.length;rl?1:0},"string-desc":function(g,l){g=g.toLowerCase();l=l.toLowerCase();return gl?-1:0},"html-asc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return gl?1:0},"html-desc":function(g,l){g=g.replace(/<.*?>/g,"").toLowerCase();l=l.replace(/<.*?>/g,"").toLowerCase();return gl?-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==="")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)}};n.aTypes=[function(g){if(g.length===0)return"numeric";var l,r=false;l=g.charAt(0);if("0123456789-".indexOf(l)== +-1)return null;for(var s=1;s")!=-1)return"html";return null}];n.fnVersionCheck=function(g){var l=function(w,x){for(;w.length=parseInt(v,10)};n._oExternConfig={iNextUnique:0};j.fn.dataTable=function(g){function l(){this.fnRecordsTotal=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsTotal,10):this.aiDisplayMaster.length};this.fnRecordsDisplay=function(){return this.oFeatures.bServerSide?parseInt(this._iRecordsDisplay,10):this.aiDisplay.length};this.fnDisplayEnd=function(){return this.oFeatures.bServerSide?this.oFeatures.bPaginate===false||this._iDisplayLength==-1? +this._iDisplayStart+this.aiDisplay.length:Math.min(this._iDisplayStart+this._iDisplayLength,this._iRecordsDisplay):this._iDisplayEnd};this.sInstance=this.oInstance=null;this.oFeatures={bPaginate:true,bLengthChange:true,bFilter:true,bSort:true,bInfo:true,bAutoWidth:true,bProcessing:false,bSortClasses:true,bStateSave:false,bServerSide:false};this.oScroll={sX:"",sXInner:"",sY:"",bCollapse:false,bInfinite:false,iLoadGap:100,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)",sInfoPostFix:"",sSearch:"Search:",sUrl:"",oPaginate:{sFirst:"First",sPrevious:"Previous",sNext:"Next",sLast:"Last"},fnInfoCallback:null};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.sDestroyWidth=0;this.fnFooterCallback=this.fnHeaderCallback=this.fnRowCallback=null;this.aoDrawCallback=[];this.fnInitComplete=null;this.sTableId="";this.nTableWrapper=this.nTBody=this.nTFoot=this.nTHead=this.nTable=null;this.bInitialised=false;this.aoOpenRows=[];this.sDom="lfrtip";this.sPaginationType="two_button"; +this.iCookieDuration=7200;this.sCookiePrefix="SpryMedia_DataTables_";this.fnCookieCallback=null;this.aoStateSave=[];this.aoStateLoad=[];this.sAjaxSource=this.oLoadedState=null;this.bAjaxDataGet=true;this.fnServerData=function(a,b,c){j.ajax({url:a,data:b,success:c,dataType:"json",cache:false,error:function(d,f){f=="parsererror"&&alert("DataTables warning: JSON data from server could not be parsed. This is caused by a JSON formatting error.")}})};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=a.fnRecordsDisplay()?0:a.iInitDisplayStart;a.iInitDisplayStart=-1;F(a)}if(!(a.oFeatures.bServerSide&&!qa(a))){a.oFeatures.bServerSide||a.iDraw++;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;itr",a.nTHead)[0],U(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay); +typeof a.fnFooterCallback=="function"&&a.fnFooterCallback.call(a.oInstance,j(">tr",a.nTFoot)[0],U(a),a._iDisplayStart,a.fnDisplayEnd(),a.aiDisplay);f=p.createDocumentFragment();b=p.createDocumentFragment();if(a.nTBody){e=a.nTBody.parentNode;b.appendChild(a.nTBody);if(!a.oScroll.bInfinite||!a._bInitComplete||a.bSorted||a.bFiltered){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=c.parentNode;else if(i=="l"&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange){f=ta(a);e=1}else if(i=="f"&&a.oFeatures.bFilter){f=ua(a);e=1}else if(i=="r"&&a.oFeatures.bProcessing){f=va(a);e=1}else if(i=="t"){f=wa(a);e=1}else if(i=="i"&&a.oFeatures.bInfo){f=xa(a);e=1}else if(i=="p"&&a.oFeatures.bPaginate){f= +ya(a);e=1}else if(n.aoFeatures.length!==0){h=n.aoFeatures;q=0;for(k=h.length;qcaption",a.nTable);i=0;for(k=d.length;i< +k;i++)h.appendChild(d[i]);if(a.oScroll.sX!==""){c.style.width=u(a.oScroll.sX);f.style.width=u(a.oScroll.sX);if(q!==null)e.style.width=u(a.oScroll.sX);j(f).scroll(function(){c.scrollLeft=this.scrollLeft;if(q!==null)e.scrollLeft=this.scrollLeft})}if(a.oScroll.sY!=="")f.style.height=u(a.oScroll.sY);a.aoDrawCallback.push({fn:za,sName:"scrolling"});a.oScroll.bInfinite&&j(f).scroll(function(){if(!a.bDrawing)if(j(this).scrollTop()+j(this).height()>j(a.nTable).height()-a.oScroll.iLoadGap)if(a.fnDisplayEnd()< +a.fnRecordsDisplay()){ca(a,"next");F(a);C(a)}});a.nScrollHead=c;a.nScrollFoot=e;return b}function za(a){var b=a.nScrollHead.getElementsByTagName("div")[0],c=b.getElementsByTagName("table")[0],d=a.nTable.parentNode,f,e,i,h,k,m,q,t,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=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 J=da(i);f=0;for(e=J.length;ff-a.oScroll.iBarWidth)a.nTable.style.width=u(f)}else a.nTable.style.width=u(f);f=j(a.nTable).outerWidth();e=a.nTHead.getElementsByTagName("tr");i=i.getElementsByTagName("tr");M(function(A,G){m=A.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;t=j(A).width();G.style.width=u(t);H.push(t)},i,e);j(i).height(0);if(a.nTFoot!== +null){h=k.getElementsByTagName("tr");k=a.nTFoot.getElementsByTagName("tr");M(function(A,G){m=A.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";t=j(A).width();G.style.width=u(t);H.push(t)},h,k);j(h).height(0)}M(function(A){A.innerHTML="";A.style.width=u(H.shift())},i);a.nTFoot!==null&&M(function(A){A.innerHTML="";A.style.width=u(H.shift())},h);if(j(a.nTable).outerWidth() +d.offsetWidth?a.oScroll.iBarWidth:0;if(a.nTable.offsetHeight';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=0;d--){f=ha(a.aoData[a.aiDisplay[d]]._aData[c],a.aoColumns[c].sType);if(!b.test(f)){a.aiDisplay.splice(d,1);e++}}}}function Aa(a,b,c,d,f){var e=ga(b,d,f);if(typeof c=="undefined"||c=== +null)c=0;if(n.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);fa(a,1);for(c=0;c/g,"");else if(typeof a=="string")return a.replace(/\n/g," ");return a}function O(a,b){var c=[],d=n.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;h0){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-asc'](jQuery.inArray(a,aiOrig), jQuery.inArray(b,aiOrig)); return iTest;}";eval(k);a.aiDisplayMaster.sort(this.ClosureDataTables.fn)}this.ClosureDataTables=undefined}}if(typeof b=="undefined"||b)T(a);a.bSorted=true;if(a.oFeatures.bFilter)P(a, +a.oPreviousSearch,1);else{a.aiDisplay=a.aiDisplayMaster.slice();a._iDisplayStart=0;F(a);C(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,m=0;m=i)for(b=0;b=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=0){b=parseInt((a.fnRecordsDisplay()-1)/a._iDisplayLength,10)+1;a._iDisplayStart=(b-1)*a._iDisplayLength}else a._iDisplayStart=0;else I(a,0,"Unknown paging action: "+b);return c!=a._iDisplayStart}function xa(a){var b=p.createElement("div");b.className=a.oClasses.sInfo;if(typeof a.aanFeatures.i=="undefined"){a.aoDrawCallback.push({fn:Da, +sName:"information"});a.sTableId!==""&&b.setAttribute("id",a.sTableId+"_info")}return b}function Da(a){if(!(!a.oFeatures.bInfo||a.aanFeatures.i.length===0)){var b=a._iDisplayStart+1,c=a.fnDisplayEnd(),d=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),e=a.fnFormatNumber(b),i=a.fnFormatNumber(c),h=a.fnFormatNumber(d),k=a.fnFormatNumber(f);if(a.oScroll.bInfinite)e=a.fnFormatNumber(1);e=a.fnRecordsDisplay()===0&&a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfoEmpty+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()=== +0?a.oLanguage.sInfoEmpty+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",h)+a.oLanguage.sInfoPostFix:a.fnRecordsDisplay()==a.fnRecordsTotal()?a.oLanguage.sInfo.replace("_START_",e).replace("_END_",i).replace("_TOTAL_",k)+a.oLanguage.sInfoPostFix:a.oLanguage.sInfo.replace("_START_",e).replace("_END_",i).replace("_TOTAL_",k)+" "+a.oLanguage.sInfoFiltered.replace("_MAX_",a.fnFormatNumber(a.fnRecordsTotal()))+a.oLanguage.sInfoPostFix;if(a.oLanguage.fnInfoCallback!==null)e=a.oLanguage.fnInfoCallback(a,b, +c,d,f,e);a=a.aanFeatures.i;b=0;for(c=a.length;b",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'+a.aLengthMenu[1][c]+""}else{c=0;for(d=a.aLengthMenu.length;c'+a.aLengthMenu[c]+""}b+="";var f=p.createElement("div");a.sTableId!==""&&typeof a.aanFeatures.l=="undefined"&&f.setAttribute("id",a.sTableId+"_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;ca.aiDisplay.length||a._iDisplayLength==-1?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Ea(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 Y(a){var b=0,c,d=0,f=a.aoColumns.length,e,i=j("th",a.nTHead);for(e=0;etd",b);e.each(function(h){this.style.width="";h=ea(a,h);if(h!==null&&a.aoColumns[h].sWidthOrig!=="")this.style.width=a.aoColumns[h].sWidthOrig});for(e= +0;etd",b);if(f.length===0)f=j("thead tr:eq(0)>th",b);for(e=c=0;e0)a.aoColumns[e].sWidth=u(d);c++}a.nTable.style.width=u(j(b).outerWidth());b.parentNode.removeChild(b)}}function Ga(a,b){if(a.oScroll.sX===""&&a.oScroll.sY!==""){j(b).width();b.style.width=u(j(b).outerWidth()-a.oScroll.iBarWidth)}else if(a.oScroll.sX!=="")b.style.width=u(j(b).outerWidth())}function Fa(a,b,c){if(typeof c=="undefined"||c){c=Ha(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;fd){d=i.offsetWidth;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 Ha(a,b){for(var c=-1,d=-1,f=0;fc){c=e.length;d=f}}return d}function u(a){if(a===null)return"0px";if(typeof a=="number"){if(a<0)return"0px"; +return a+"px"}var b=a.charCodeAt(a.length-1);if(b<48||b>57)return a;return a+"px"}function Ma(a,b){if(a.length!=b.length)return 1;for(var c=0;cb&&a[d]--;c!=-1&&a.splice(c,1)}function sa(a,b){b=b.split(",");for(var c=[],d=0,f=a.aoColumns.length;d4096){a=p.cookie.split(";");for(var h=0,k=a.length;h=d.aiDisplay.length){d._iDisplayStart-=d._iDisplayLength;if(d._iDisplayStart<0)d._iDisplayStart=0}if(typeof c=="undefined"||c){F(d);C(d)}return f};this.fnClearTable=function(a){var b=B(this[n.iApiIndex]);ba(b);if(typeof a=="undefined"||a)C(b)};this.fnOpen=function(a,b,c){var d=B(this[n.iApiIndex]);this.fnClose(a);var f= +p.createElement("tr"),e=p.createElement("td");f.appendChild(e);e.className=c;e.colSpan=S(d);e.innerHTML=b;b=j("tr",d.nTBody);j.inArray(a,b)!=-1&&j(f).insertAfter(a);d.aoOpenRows.push({nTr:f,nParent:a});return f};this.fnClose=function(a){for(var b=B(this[n.iApiIndex]),c=0;ctr",d.nTHead)[0];var k=j(">tr",d.nTFoot)[0],m=[],q=[];for(f=0;f=S(d)){i.appendChild(m[a]);k&&k.appendChild(q[a]);f=0;for(e=d.aoData.length;ftd:eq("+h+")",d.aoData[f].nTr)[0])}}d.aoColumns[a].bVisible=true}else{i.removeChild(m[a]);k&&k.removeChild(q[a]);h=W(d);f=0;for(e=d.aoData.length;ftr>td."+a.oClasses.sRowEmpty,a.nTable).parent().remove();if(a.nTable!=a.nTHead.parentNode){j(">thead",a.nTable).remove(); +a.nTable.appendChild(a.nTHead)}if(a.nTFoot&&a.nTable!=a.nTFoot.parentNode){j(">tfoot",a.nTable).remove();a.nTable.appendChild(a.nTFoot)}a.nTable.parentNode.removeChild(a.nTable);j(a.nTableWrapper).remove();a.aaSorting=[];a.aaSortingFixed=[];T(a);j(R(a)).removeClass(a.asStripClasses.join(" "));if(a.bJUI){j("th",a.nTHead).removeClass([n.oStdClasses.sSortable,n.oJUIClasses.sSortableAsc,n.oJUIClasses.sSortableDesc,n.oJUIClasses.sSortableNone].join(" "));j("th span",a.nTHead).remove()}else j("th",a.nTHead).removeClass([n.oStdClasses.sSortable, +n.oStdClasses.sSortableAsc,n.oStdClasses.sSortableDesc,n.oStdClasses.sSortableNone].join(" "));b.appendChild(a.nTable);d=0;for(f=a.aoData.length;dtr:even",c).addClass(a.asDestoryStrips[0]);j(">tr:odd",c).addClass(a.asDestoryStrips[1]);d=0;for(f=E.length;dt<"F"ip>'}if(e.oScroll.sX!==""||e.oScroll.sY!=="")e.oScroll.iBarWidth=Ka();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;Ja(e,g);e.aoDrawCallback.push({fn:la,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!="undefined"&&g.oLanguage.sUrl!==""){e.oLanguage.sUrl=g.oLanguage.sUrl;j.getJSON(e.oLanguage.sUrl,null,function(q){v(e,q,true)});i=true}else v(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=0;a--){var m=g.aoColumnDefs[a].aTargets;j.isArray(m)||I(e,1,"aTargets must be an array of targets, not a "+typeof m);c=0;for(d=m.length;c=0){for(;e.aoColumns.length<=m[c];)y(e);D(e,m[c],g.aoColumnDefs[a])}else if(typeof m[c]=="number"&&m[c]<0)D(e,e.aoColumns.length+m[c],g.aoColumnDefs[a]);else if(typeof m[c]=="string"){b=0;for(f=e.aoColumns.length;b=e.aoColumns.length)e.aaSorting[a][0]=0;k=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]=k.asSorting[0];c=0;for(d=k.asSorting.length;c0)e.nTFoot=this.getElementsByTagName("tfoot")[0];if(h)for(a=0;a